Ошибка при SELECT(SUM)

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Iskander
Сообщения: 3
Зарегистрирован: 15 сен 2006, 04:13

Ошибка при SELECT(SUM)

Сообщение Iskander » 15 сен 2006, 04:49

В проекте Delphi использую следующую конструкцию:

Код: Выделить всё

DataModule2.Zap2.Close;
DataModule2.Zap2.SQL.Clear;
DataModule2.Zap2.SQL.Add('select  sum(objem) as V2, sum(dvor) as V3, sum(sbornik) as V4, sum(sklad) as V5, sum(Depo) as V6, sum(procie)as V7 from gorizont_dat where Obj_id=:m');
DataModule2.zap2.ParamByName('m').AsInteger:=m;
DataModule2.Zap2.Open;
При открытии запроса вылетает ошибка

Project OBJEM_GKR.exe raised exception class EIBInterBaseError with message 'Dynamic SQL Error
SQL error code = -206
Column unknown
OBJEM
Client SQL dialect 1 does not support reference to 64-bit numeric datatype'. Process stopped. Use Step or Run to continue.

Использую FireBird 1.03. Поля objem, dvor и т.п. в таблице есть, имеют тип FLOAT. Причем, в другом модуле похожий запрос с SUM() работает нормально

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 15 сен 2006, 09:46

Клиентский диалект надо указывать правильно. "Правильно" в данном случае - равным диалекту базы.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 15 сен 2006, 10:34

Поля objem, dvor и т.п. в таблице есть, имеют тип FLOAT
мда, еще и float... хотя судя по ошибке objem никакой не float.

Iskander
Сообщения: 3
Зарегистрирован: 15 сен 2006, 04:13

Сообщение Iskander » 15 сен 2006, 11:19

Да, действительно, была ошибка в диалекте. Все получилось, всем спасибо.

Ответить