
Не выполняется триггер - FB 2.0
Код: Выделить всё
TEMP_IBQuery.SQL.Add('select * from ZAKRUTIYE_ZAKAZA(:abonent, :data)');
TEMP_IBQuery.ParamByName('abonent').AsInteger := IBTable_Main.FieldByName('abonent').AsInteger;
TEMP_IBQuery.ParamByName('data').AsDateTime := IBTable_Main.FieldByName('NACHALO_VUPOLNENIYA').AsDateTime;
error conversion from string ''''
FlexTracer -
select * from ZAKRUTIYE_ZAKAZA(?, ?)
Почему ошибка произошла, попробую позже разобраться, проблему решил - сделал where по другому полю (ID - наращивает триггер, надо было сразу так сделать..).
Всем спасибо за помощь!
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
И все равно в этом месте оно тебе доли секунд отрежет нафиг. Причем дважды. Ну-ка нах такую бодягу...qvd писал(а):Код: Выделить всё
TEMP_IBQuery.ParamByName('data').AsDateTime := IBTable_Main.FieldByName('NACHALO_VUPOLNENIYA').AsDateTime;
Как раз такую бодягу лечил недавно.Merlin писал(а):И гарантированно не совпадёт с установленным триггерно.
У меня в АСУ (без исходников, конечно) запросы написаны как ...AND DATEREC=:DATEREC, типа того, отслеживает, не менял ли кто документ, пока я его открывал и редактил. Соответсвенно, триггерный 'NOW' стал пихать туда милисекунды, и всё встало.
Для совместимости кода FB1 и FB2 пришлось написать процедурку, отрезающую милисекунды, и везде вместо 'NOW' использовать её.