формы для баз данных. шаблоны или суперклассы
От: e-yes  
Дата: 14.08.01 07:52
Оценка:
При программировании баз данных, часто возникает необходимость в создании типичных форм для справочников. Как правило, на одну таблицу (на один справочник) создается по две формы — список записей и форма для редактирования (просмотра) записи.
Много кода повторяется от формы к форме, есть ли у кого опыт создания некоего шаблона или суперкласса для реализации кода этих форм.
Давайте обсудим эту тему, это было бы полезно и небезинтересно для многих программеров.
Re: формы для баз данных. шаблоны или суперклассы
От: e-yes  
Дата: 16.08.01 06:28
Оценка:
мля... неужели всем сабж пополам?!?!?!!
Re[2]: формы для баз данных. шаблоны или суперклассы
От: Willi  
Дата: 17.08.01 07:05
Оценка:
Здравствуйте e-yes, вы писали:


EY>мля... неужели всем сабж пополам?!?!?!!


спойстьвие, толькто спокойстьвие :)

да нет, не пополам
сам недавно начал новый проект использующий БД
но опыта ноль
посоветовать пока нечего

некоторые мысли есть, но очень сумбурные, все по той же причине,
мало опыта в этой области
да и времени нехватает, чтоб их причесать.

вот хожу каждый день сюда и смотрю не ответил ли кто

видимо информация по данному вопросу засекречена :)

а-у-у! народ! помогите, кто чем может!

а то, блин, не охота велосипеды изобретать.
\/\/i||i
Re[3]: формы для баз данных. шаблоны или суперклассы
От: The Lex Украина  
Дата: 17.08.01 08:00
Оценка:
Здравствуйте Willi, вы писали:

W>а то, блин, не охота велосипеды изобретать.


А вот поизобретайте велосипеды и опыт появится. С чего-то начинать надо...
Голь на выдумку хитра, однако...
Re[4]: формы для баз данных. шаблоны или суперклассы
От: e-yes  
Дата: 17.08.01 08:12
Оценка:
Здравствуйте The Lex, вы писали:

TL>Здравствуйте Willi, вы писали:


W>>а то, блин, не охота велосипеды изобретать.


TL>А вот поизобретайте велосипеды и опыт появится. С чего-то начинать надо...


Согласен. Без пратики опыта не прибавиться.....

Но изобретательство велосипедов сильно смахивает на КМБ в армии —
геммора много, а толку никакого:)

Ну и почему бы сообща не сделать велосипед, в условиях кооперации он будет не с такими кривыми колесами:)
Re[4]: формы для баз данных. шаблоны или суперклассы
От: Willi  
Дата: 17.08.01 08:13
Оценка:
Здравствуйте The Lex, вы писали:

TL>А вот поизобретайте велосипеды и опыт появится. С чего-то начинать надо...


Спасиб тебе, мил человек, на добром слове.

Только вот порой пара более содержательных советов,
может сэкономить пару месяцев времени.
\/\/i||i
Re[5]: формы для баз данных. шаблоны или суперклассы
От: Николай Пугачев Россия www.force-it.ru
Дата: 04.09.01 05:27
Оценка:
Здравствуйте Willi, вы писали:

W>Здравствуйте The Lex, вы писали:


TL>>А вот поизобретайте велосипеды и опыт появится. С чего-то начинать надо...


W>Спасиб тебе, мил человек, на добром слове.


W>Только вот порой пара более содержательных советов,

W>может сэкономить пару месяцев времени.

Могу подсказать (надеюсь) пока только как сделать формы со списками.

Это решение применяют, наверное, почти все фирмы (1С, Интеллект-Сервис,...). В базе данных делается табличка с описанием каждого справочника, и табличка с описаниями полей справочника. При вызове формы списка передаешь шаблону код справочника, а он должен по этим табличкам сформировать SQL-запрос, ListView или Grid и соответственно заполнить.

Конкретнее если будет интересно, пиши. У меня это решение на VB, но на VC++ все-равно переделывать. Сейчас времени не хватает, надо проект сдать. Да и с C у меня пока проблемы :(
Re[6]: формы для баз данных. шаблоны или суперклассы
От: The Lex Украина  
Дата: 04.09.01 05:37
Оценка:
Здравствуйте Николай Пугачев, вы писали:

НП>Конкретнее если будет интересно, пиши. У меня это решение на VB, но на VC++ все-равно переделывать. Сейчас времени не хватает, надо проект сдать. Да и с C у меня пока проблемы :(


Мне интересно: чем обоснован переход от VB к VC++?
(Это не для того, чтобы завести спор — кто лучше. Интересует реальные факторы...)
Голь на выдумку хитра, однако...
Re[5]: формы для баз данных. шаблоны или суперклассы
От: The Lex Украина  
Дата: 04.09.01 05:40
Оценка:
Здравствуйте Willi, вы писали:

W>Спасиб тебе, мил человек, на добром слове.


W>Только вот порой пара более содержательных советов,

W>может сэкономить пару месяцев времени.

Тогда поставте задачу как можно более конкретно. Могу с уверенностью сказать: это по крайней мере 50-70% решения!
Голь на выдумку хитра, однако...
Re[7]: формы для баз данных. шаблоны или суперклассы
От: Николай Пугачев Россия www.force-it.ru
Дата: 04.09.01 07:54
Оценка:
Здравствуйте The Lex, вы писали:

TL>Здравствуйте Николай Пугачев, вы писали:


НП>>Конкретнее если будет интересно, пиши. У меня это решение на VB, но на VC++ все-равно переделывать. Сейчас времени не хватает, надо проект сдать. Да и с C у меня пока проблемы :(


TL>Мне интересно: чем обоснован переход от VB к VC++?

TL>(Это не для того, чтобы завести спор — кто лучше. Интересует реальные факторы...)

В основном обусловлен необходимостью работы программы на старой (486) технике. Ну, и размер дистрибутива.
Re[5]: формы для баз данных. шаблоны или суперклассы
От: Николай Пугачев Россия www.force-it.ru
Дата: 04.09.01 18:34
Оценка:
Здравствуйте Willi, вы писали:

W>Здравствуйте The Lex, вы писали:


TL>>А вот поизобретайте велосипеды и опыт появится. С чего-то начинать надо...


W>Спасиб тебе, мил человек, на добром слове.


W>Только вот порой пара более содержательных советов,

W>может сэкономить пару месяцев времени.

Появилась (собственно, и реализовалась) идея с формами ввода данных.

Итак, есть форма, которая умеет выводить списки для справочника по коду справочника. Этой же форме передавай ссылку на форму, которая будет редактировать запись. Запись оформляется как некий Recordset с одной записью — которую надо редактировать.

На VB будет примерно так:

frmListView — форма-список
frmDivisionEdit — форма редактирования записи

Set fE = New frmDivisionEdit
Set fL = New frmListView
fL.ListID = 22 'Передаем код справочника
Set fL.EditForm = fE
fL.Show 'Показываем список клиенту


а в форме frmListView при вызове формы редактирования аналогично передаем Recordset и код действия (новая запись, редактирование, просто показать ...)

На VC++ реализация примерно такая же, различие в конструкциях.
Re[6]: формы для баз данных. шаблоны или суперклассы
От: Корнилов Григорий Петрович http://kornilow.newmail.ru
Дата: 08.09.01 06:35
Оценка:
Здравствуйте Николай Пугачев, вы писали:

НП>Здравствуйте Willi, вы писали:


W>>Здравствуйте The Lex, вы писали:


TL>>>А вот поизобретайте велосипеды и опыт появится. С чего-то начинать надо...


W>>Спасиб тебе, мил человек, на добром слове.


W>>Только вот порой пара более содержательных советов,

W>>может сэкономить пару месяцев времени.

НП>Появилась (собственно, и реализовалась) идея с формами ввода данных.


НП>Итак, есть форма, которая умеет выводить списки для справочника по коду справочника. Этой же форме передавай ссылку на форму, которая будет редактировать запись. Запись оформляется как некий Recordset с одной записью — которую надо редактировать.


НП>На VB будет примерно так:


НП>frmListView — форма-список

НП>frmDivisionEdit — форма редактирования записи

НП>Set fE = New frmDivisionEdit

НП>Set fL = New frmListView
НП>fL.ListID = 22 'Передаем код справочника
НП>Set fL.EditForm = fE
НП>fL.Show 'Показываем список клиенту


НП>а в форме frmListView при вызове формы редактирования аналогично передаем Recordset и код действия (новая запись, редактирование, просто показать ...)


НП>На VC++ реализация примерно такая же, различие в конструкциях.


У IT есть опыт в таком деле — шаблоны view и dialog со statusbar и toolbar.
Я это использую давно и часто (со своими изменениями)
Re[7]: формы для баз данных. шаблоны или суперклассы
От: WindJammer  
Дата: 08.09.01 07:22
Оценка:
Здравствуйте Корнилов Григорий Петрович, вы писали:

КГП>У IT есть опыт в таком деле — шаблоны view и dialog со statusbar и toolbar.

КГП>Я это использую давно и часто (со своими изменениями)



Тут народ про более другие методы говорит, чтобы минимально в VC работать, а максимально перенести настройку в БД, например. У IT просто шаблоны, которые нужно копировать или наследовать от них, т.е. основная работа все равно в VC делается. А народ хочет, к примеру, иметь один класс производный от CFormView, и для каждого справочника передавать ему идентификатор, класс сам найдет по идентификаторы, что ему и как показывать. А у шаблонов IT, кода много приходилось писать и грид вручную настраивать. Хотя, в конечном счете, не факт, что это значительно усложняет жизнь.
Re[8]: формы для баз данных. шаблоны или суперклассы
От: Николай Пугачев Россия www.force-it.ru
Дата: 08.09.01 08:27
Оценка:
Здравствуйте WindJammer, вы писали:

WJ>Тут народ про более другие методы говорит, чтобы минимально в VC работать, а максимально перенести настройку в БД, например. У IT просто шаблоны, которые нужно копировать или наследовать от них, т.е. основная работа все равно в VC делается. А народ хочет, к примеру, иметь один класс производный от CFormView, и для каждого справочника передавать ему идентификатор, класс сам найдет по идентификаторы, что ему и как показывать. А у шаблонов IT, кода много приходилось писать и грид вручную настраивать. Хотя, в конечном счете, не факт, что это значительно усложняет жизнь.


Собственно, это часть из моего ТЗ. Народ должен иметь впоследствии добавлять свои собственные справочники. Пока требование к редактированию юзеровских справочников только прямо в гриде. Если потребуют делать и формы юзерские, придется искать VBA SDK.

Кстати, что за шаблоны у IT? Посмотреть дайте, плз?
Re[9]: формы для баз данных. шаблоны или суперклассы
От: WindJammer  
Дата: 08.09.01 08:56
Оценка:
Здравствуйте Николай Пугачев, вы писали:


НП>Собственно, это часть из моего ТЗ. Народ должен иметь впоследствии добавлять свои собственные справочники. Пока требование к редактированию юзеровских справочников только прямо в гриде. Если потребуют делать и формы юзерские, придется искать VBA SDK.


Ну так это же совсем элементарно, если грид с возможностями аналогичными MS DataGrid, где ни комбобокса встроенного, ничего такого. Все настройки — это одна строка SQL-запроса, да и то, какие столбцы показывать и как их называть.

НП>Кстати, что за шаблоны у IT? Посмотреть дайте, плз?

Это наследство, что оставил нам IT. Посмотреть, соответственно, только он и может дать.
Re[10]: формы для баз данных. шаблоны или суперклассы
От: IT Россия linq2db.com
Дата: 08.09.01 09:34
Оценка:
Здравствуйте WindJammer, вы писали:

НП>>Кстати, что за шаблоны у IT? Посмотреть дайте, плз?

WJ>Это наследство, что оставил нам IT. Посмотреть, соответственно, только он и может дать.

Ну, вы о нём прям как о покойнике :(
Если нам не помогут, то мы тоже никого не пощадим.
Re[11]: формы для баз данных. шаблоны или суперклассы
От: Willi  
Дата: 10.09.01 05:42
Оценка:
Здравствуйте IT, вы писали:

IT>Здравствуйте WindJammer, вы писали:


НП>>>Кстати, что за шаблоны у IT? Посмотреть дайте, плз?

WJ>>Это наследство, что оставил нам IT. Посмотреть, соответственно, только он и может дать.

IT>Ну, вы о нём прям как о покойнике :(


IT, может выложишь их куда-нить или по мылу?
Если это не коммерческая тайна, конечно.
Думаю многие с интересом поизучали бы твое изобретение.
\/\/i||i
Re[12]: формы для баз данных. шаблоны или суперклассы
От: Корнилов Григорий Петрович http://kornilow.newmail.ru
Дата: 10.09.01 11:54
Оценка:
Здравствуйте Willi, вы писали:

W>Здравствуйте IT, вы писали:


IT>>Здравствуйте WindJammer, вы писали:


НП>>>>Кстати, что за шаблоны у IT? Посмотреть дайте, плз?

WJ>>>Это наследство, что оставил нам IT. Посмотреть, соответственно, только он и может дать.

IT>>Ну, вы о нём прям как о покойнике :(


W>IT, может выложишь их куда-нить или по мылу?

W>Если это не коммерческая тайна, конечно.
W>Думаю многие с интересом поизучали бы твое изобретение.

Не цапайтесь ...
Я говорил и о 'легком' подключении к БД, и о toolbar со statusbar, imagelist ...
А по типу поля на F4 можно навесить изменение поля от контрола (что можно сделать) не так часто используется, ведь люди любят изменять данные хитро ...

P.S.
WindJammer — если есть возможность дать книгу с вопросами по правилам — напиши адрес, я зайду. GKornilov@bcpi.ru (вечерком после 21 или в четверг с утра ...)
Re[12]: формы для баз данных. шаблоны или суперклассы
От: IT Россия linq2db.com
Дата: 10.09.01 15:15
Оценка:
Здравствуйте Willi, вы писали:

W>IT, может выложишь их куда-нить или по мылу?

W>Если это не коммерческая тайна, конечно.
W>Думаю многие с интересом поизучали бы твое изобретение.

Какое там изобретение... Обычная рабочая библиотека, по природе своей то же, что и ascLib Влада, т.е. рабочая лошадь софтовой конторы. Только у Влада всё на ATL, а у меня то, что осталось при переходе из MS-DOS на Windows, свои классы для дат, коллекции и т.п., кажется даже остался класс для чтения INI-файлов и отступы по 2 пробела вместо табуляции ;) Плюс кое-что добавилось для винды, ну и грид для ADO, написанный наполовину на MFC наполовину на ATL. Короче, давно это было. Кое-что, конечно, можно реанимировать, если это будет кому-то интересно.
Если нам не помогут, то мы тоже никого не пощадим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.