|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.07.2015, 19:18 | #1 |
Форумчанин
Регистрация: 28.09.2011
Сообщений: 250
|
Кодом добавить поля в ADOQuery
Программа выдаёт данные о продукте, и я сделал такую функцию, что пользователь может сам решать, какие поля он хочет видеть, к примеру, он создаёт поля с названиями "Срок годности продукта", и "Наименование продукта", и такие данные в дальнейшем будут выводиться в таблице.
Далее ... В программе пользователь создаёт поле с названием "Фирма изготовитель", программа в sql server-e создаёт поле с именем - "mmm1"(к примеру) Далее, у меня есть компонент DBEdit (создаётся динамически), и я хочу связать его с новосозданной таблицей "mmm1" Код:
================================== Я начал думать, каким образом можно сделать (add fielfs ...) Но так ничего и не придумал. Нашёл в интернете код, как можно динамически добавить поле в "список" ADOQuery, но я повторюсь, что это динамический ... т.е. мне грубо говоря придётся где то хранить перечень всех полей которые добавил пользователь, и каждый раз при открытии формы, он должен будет их по новой добавлять в ADOQuery. Это можно перетерпеть, если всего два поля будет, но если этих полей будет штук 50 ? Я думаю, прога основательно подвиснет при открытии. =================================== = В общем вопрос: Можно ли как то скопом добавить все поля в АДОшку, каким нибудь Рефрешем или Апдейтом ... Помогите выйти из ситуации, пожалуйста |
22.07.2015, 19:25 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
22.07.2015, 19:29 | #3 |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
Если не объявлять статический поля (не делать addfields) в TDAtaSet (потомком которого есть TADOQuery) , то при открытии таблицы, они автоматически в него добавятся .
--------- К примеру когда я делаю какую то форму с отображением новых таблиц (сцепок таблиц), я сначала добавляю все поля addfileds. Потом настраиваю все контролы в форме, открываю проверяю как работает, а потом удаляю все эти поля с TAdoQuery. В случае, если мне нужно присобачить обработчики по типу Onvalidate OnGet(Set)Text я делаю это на этапе инициализации формы перед открытием TAdoQuery посредством присвоение обработчика в коде
95% сбоев и ошибок приложений, находится в полу метрах от монитора
|
22.07.2015, 19:35 | #4 | |
Форумчанин
Регистрация: 28.09.2011
Сообщений: 250
|
Цитата:
Я немного не понял .... Вы имеете в виду, что мне нужно перед подключением нового поля к DBEdit перезапустить АДОшку? Код:
Если так, то .... Я пробовал данный код: (В базе было 12 полей, а в ADOQuery я только 10 добавил) Код:
- Message_#1: 10 Message_#2: 10 - Так что, либо я что то не так понял, либо данное действо не поможет мне ... |
|
22.07.2015, 19:39 | #5 | |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
Цитата:
Потом, в базе данных в табличку добавть ещё одно поле и опять попробуй код.
95% сбоев и ошибок приложений, находится в полу метрах от монитора
|
|
22.07.2015, 19:41 | #6 | |
Форумчанин
Регистрация: 28.09.2011
Сообщений: 250
|
Цитата:
Уже попробовал, прочтите сообщение. Всё сразу отображается, но проблема с изначальным выводом данных в компоненты Последний раз редактировалось Stilet; 22.07.2015 в 19:51. |
|
22.07.2015, 19:55 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Кстати, а зачем тебе понадобилось все это? Чует мое "пэрце", что твою задачу точно можно решить более простым способом.
I'm learning to live...
|
|
22.07.2015, 19:58 | #8 | |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
Цитата:
Например Код:
95% сбоев и ошибок приложений, находится в полу метрах от монитора
|
|
22.07.2015, 20:03 | #9 | ||
Форумчанин
Регистрация: 28.09.2011
Сообщений: 250
|
Цитата:
Цитата:
2) Я ничего не смог придумать лучше этого ... Вроде бы всё просто, только вот с этими полями я замучился ... Последний раз редактировалось Stilet; 23.07.2015 в 10:29. |
||
22.07.2015, 20:06 | #10 |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
Если нужна обратная реакция то тогда на OnShow вешается всё для отображения, а на клике снимается. При этом, связка контрол-поле таблицы остаётся корректным на весь сеанс работы с приложением
95% сбоев и ошибок приложений, находится в полу метрах от монитора
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программное управление кодом поля | DBEER | Microsoft Office Word | 1 | 15.05.2015 16:49 |
Как удалить динамически созданные поля в ADOQuery? | Darlee | Помощь студентам | 3 | 28.04.2014 11:57 |
маска для числового поля adoquery | haker270 | БД в Delphi | 3 | 18.11.2012 22:36 |
Как программно добавить поле Lookup в ADOQuery | aquatell | БД в Delphi | 0 | 04.05.2011 01:15 |
Как добавить все поля в таблицу с кода | tarakan1983 | БД в Delphi | 5 | 24.03.2009 18:14 |