Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Добавление полей типа fkCalculated к открытой TADOQuery   Найти похожие ветки 

 
Nikolai_S ©   (2004-03-12 12:35) [0]

Как добавить к открытой TADOQuery вычисляемое поле (TFloatField, fkCalculated). В справке Delphi есть пример добавления поля к датасету, но датасет там должен быть закрыт.


 
Nikolai_S ©   (2004-03-12 12:36) [1]

Сорри, забыл сказать: добавить поле нужно динамически в RunTime


 
Polevi ©   (2004-03-12 12:39) [2]

к открытому никак


 
Nikolai_S ©   (2004-03-12 12:44) [3]

Поле вычисляемое, поэтому нет смысла весь датасет переоткрывать. Это же занимает время - программа будет необоснованно торомозить. Неужели нет выхода добавить вычисляемое поле, не закрывая датасет?


 
ЫЗШКШЕ   (2004-03-12 12:47) [4]

нет нету, а почему бы его сразу не создать . а в рантайм визибле менять ..


 
Nikolai_S ©   (2004-03-12 12:49) [5]

Можно было бы. Но количество этих полей может быть любым. Пользователь задает алгоритм расчета этого поля. Что же их теперь с запасом на 100 или 1000 штук делать? :-)
Хотелось бы не так каряво. Что ж, придется думать, как лучше поступить


 
Polevi ©   (2004-03-12 14:15) [6]

>Nikolai_S ©   (12.03.04 12:44) [3]
можно не переоткрывать, а клонировать на клиенте
хотя тоже криво конечно


 
Nikolai_S ©   (2004-03-12 14:47) [7]

>Polevi
Я тоже об этом подумал. Попробую


 
Johnmen ©   (2004-03-12 15:10) [8]

>Пользователь задает алгоритм расчета этого поля

Так полей или всё-таки поля ?
Да и алгоритм никакого отношения к количеству не имеет...


 
Nikolai_S ©   (2004-03-12 15:25) [9]


> Johnmen ©

Полей. Есть открытый TADOQuery с набором обычных полей (например F1, F2, F3). Пользователь же может добавлять собственные новые поля. Эти поля будут вычисляемыми (FieldKind=fkCalculated). Пользователь, создав, скажем, свое поле, может задать алгоритм его расчета (например F1+F2).

Короче говоря, моя задача: динамически добавлять вычисляемые поля к открытому TADOQuery.


 
Nikolai_S ©   (2004-03-12 15:33) [10]

Еще вопрос: как динамически выполнить команду "Add all fields", которая имеется в Fields Editor"е?

Так как неизвестно, какие поля будут отображены в ADOQuery, то нужно:
1. закрытому ADOQuery присвоить запрос в ADOQuery.SQL;
2. динамически добавить все поля, которые указаны в запросе ADOQuery.SQL (аналог команды "Add all fields" в Feilds Editor"е);
3. можно добавить некоторое количество дополнительных вычисляемых полей про запас.

Не могу найти в справке как реализовать 2-й пункт.


 
Johnmen ©   (2004-03-12 15:48) [11]

ADOQuery1.FieldDefList.Update;   ?


 
Nikolai_S ©   (2004-03-12 16:01) [12]

ADOQuery1.FieldDefList.Update - не подходит, он не выполняет эту операцию. Я проверял


 
Johnmen ©   (2004-03-12 16:23) [13]

ADOQuery1.FieldList.Update;   ?



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.152 c
3-1082016656
Евген
2004-04-15 12:10
2004.04.11
Вопрос о DBLookupComboBox


3-1081934441
kalishenko
2004-04-14 13:20
2004.04.11
Фильтр по дате


1-1082076924
Читатель
2004-04-16 04:55
2004.04.11
Есть ли паковщики exe-файлов на Дельфи ? Или что нужно знать,


3-1081741809
Геннадий
2004-04-12 07:50
2004.04.11
Как выделить составляющую из даты?


6-1075564487
Александр
2004-01-31 18:54
2004.04.11
Как с помощью программы отправить письмо???? Я нашёл способ, но о