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

Вниз

Вычисляемые поля в запросе на FB?   Найти похожие ветки 

 
Тщищвн   (2003-08-01 09:42) [0]

Привет ALL! В Firebird 1.0 есть таблица с полями "Начало работы" типа TIMESTAMP и "Продолжительность" типа TIME. Очень нужно, чтобы в DBGRID, привязанной к TIBQuery, запрос SELECT возвращал ещё и "Конец работы" типа TIMESTAMP и "Осталось работать" типа TIME. Выражение типа SELECT POLE1, POLE2, POLE1+POLE2 AS POLE3, CURRENT_TIME-POLE1+POLE2 AS POLE4 приводит к ошибкам. Где грабли?
И поддерживает ли вообще IB или FB вычисляемые поля в запросах? Зараннее большой сенкс!


 
Alexandr ©   (2003-08-01 10:00) [1]

к каким ошибкам?


 
Zacho ©   (2003-08-01 10:06) [2]

Вычисления в запросах естественно поддерживаются. А грабли в том, что не поддерживаются арифметические операции с DATE, TIME и TIMESTAMP.
Я не помню, есть ли в FB1 преобразование DATE, TIME, TIMESTAMP в DOUBLE PRECISION (знаю, что есть в Дятле) Если есть - то делай что-то типа SELECT CAST( CAST(POLE1 AS DOUBLE PRECISION)+CAST(POLE2 AS DOUBLE PRECISION) AS TIMESTAMP)
Если нет - то используй UDF или посмотри, где-то на www.ibase.ru был набор процедур для работы с датой и временем на чистом SQL.


 
KDS ©   (2003-08-01 11:22) [3]

Или же сделать вычисляемое поле не средствами сервера а средствами клиента (программно). Т. е. добавить вычисляемое поле на уровне TIBQuery и обрабатывать результат в OnCalcFields


 
Тщищвн   (2003-08-01 11:41) [4]

2 KDS:
А каким образом мне запихнуть вычесленное значение в DBGrid?


 
Тщищвн   (2003-08-01 11:43) [5]

типа IBQuery1["Поле"]:=значение ?


 
Zacho ©   (2003-08-01 11:50) [6]


> Тщищвн (01.08.03 11:43)

Типа почитай про calculated поля в TDataSet и событие OnCalcFields


 
Тщищвн   (2003-08-01 12:03) [7]

ОК. Всем спасибо! Вот именно про это я и не подумал. Дошло даже до того, что на канве грида писал вычесленное поле, однако очень не красиво получается..



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
3-92032
KLOPs
2003-08-03 16:27
2003.08.28
Как открыть справочник в таком случае ...


3-92004
digester
2003-08-05 20:59
2003.08.28
Проблема подтверждения кэшированных изменений в IBQuery


7-92293
pet
2003-06-15 19:57
2003.08.28
MBR


3-91980
Ш-К
2003-08-01 12:37
2003.08.28
Преобразоватие типов.


8-92136
LK
2003-04-30 23:29
2003.08.28
Воспроизведение отдельных команд MIDI