![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
динамическое создание вычисляемого поля AdoQuery
Arinyshka © (2008-12-01 14:52:00)connectionString прописывается динамически во время выполнения - поэтому не могу просто добавить поле в Query статически.
нужно в run-time добавить к датасету QrUni:TAdoQuery 2 calculated поля.
qrUni.Fields.Add(); ?? Не могу сообразить как это сделать :(
Сергей М. (2008-12-01 16:05:00) [1]
> можно ли было к существующему датасету добавить вычисляемые
> поля динамически?
>
Сказано ведь уже - можно.
Arinyshka (2008-12-01 16:00:00) [2]
> Надо было явно добавить все поля , с которыми работает "кричащая
> прожка", и в конец списка добавить свое выч.поле
Собственно, так и сделала... Это я более-менее быстро сообразила :) Но все-таки хочется понять, можно ли было к существующему датасету добавить вычисляемые поля динамически?
Сергей М. (2008-12-01 15:31:00) [3]
> прожка кричит. что не находит других полей
И не найдет - ты же их собственноручно выкинула, добавив вычисл.поле.
Надо было явно добавить всеполя , с которыми работает "кричащая прожка", и в конец списка добавить свое выч.поле
Поросенок Винни-Пух (2008-12-01 15:29:00) [4]все намногее не так.
Arinyshka (2008-12-01 15:26:00) [5]то есть примерно так:
qrUni: TAdoQuery;
****
var
MyField: TStringField;
begin
MyField.Create;
MyField.FieldKind = fkCalculated;
qrUni.Fields.Add (MyField);
и потом спокойно обрабатывать его в событии OnCalc?
Просто я попыталась быстренько таки прописать поле статически в qrUni... И в результате прожка кричит. что не находит других полей - тех, которые просто передавались из БД
Сергей М. (2008-12-01 15:05:00) [6]
> как это сделать
Надо как минимум:
- создать соответствующий типу поля объект-наслединк класса TField (TIntegerField, TStringField e.t.c),
- установить его св-во FieldKind = fkCalculated
- передать этот объект параметром в метод MyDataSet.Fields.Add
Arinyshka (2008-12-01 15:01:00) [7]уже сообразила, что поле добавить могу и статически... но все равно хочется в run time