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

Вниз

Как корректно добавить калькулироемое поле?   Найти похожие ветки 

 
Aleksandr ©   (2003-06-09 16:31) [0]

Проблема в следующем: Текст запроса для TQuery у меня загружается из файла. У самого этого экземпляра TQuery в дизайн-тайме ни одного поля нет - все динамическое. Точно так же из файла грузится список калькулируемых полей (они потом присваиваются TDBText"ам всяким. Но вот проблема - если я перед открытием Датасета добавляю ему калькулируемые поля, то потом при открытии остальные поля динамически не добавляются. Код добавления калькулируемого поля:


procedure AddCalcFields(Dataset : TDataset);
procedure InitField(aFieldName : string);
begin
F:=TStringField.Create(Dataset);
F.FieldName:=aFieldName;
F.Name:=DataSet.Name+F.FieldName;
F.Size:=50;
F.FieldKind:=fkCalculated;
F.ReadOnly:=true;
F.Index:=DataSet.FieldCount;
F.DataSet:=DataSet
end;
begin
if NOT Assigned(Findfield("Field1")) then
InitField("Field1");
...
end;


Соответственно, добавить калькулируемые поля можно только перед открытием набора данных (иначе нельзя вот это: F.DataSet:=DataSet). И добавляются либо калькулируемые, либо физические. Как тут можно сделать, чтобы при открытии добавлялось и то и другое?


 
clickmaker ©   (2003-06-09 18:21) [1]

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


 
Aleksandr ©   (2003-06-09 19:08) [2]

Увы, юзается Парадокс. Так-то понятно было бы... А по второму варианту тоже туго - ориентация идет от физической таблице, и из хранимой структуры удалются поля, если они в физической таблице отсутствуют.



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
6-7582
alt7
2003-04-29 17:04
2003.07.03
Indy и runtime


3-7311
Ancara
2003-06-09 14:03
2003.07.03
Кириллица в Database Desktop


1-7387
Delphin
2003-06-22 23:21
2003.07.03
Как минимизировать форму при запуске программы?


6-7590
Алексей Глеб
2003-04-26 17:15
2003.07.03
Server & Delphi


1-7491
antoniz
2003-06-21 08:30
2003.07.03
поле таблицы БД сохранен файл Excel можно ли открыть его...