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

Вниз

Ошибка при конвертации строки в дату.   Найти похожие ветки 

 
Alexander Panov ©   (2005-02-07 19:19) [0]

Используется FireBird Embeded 1.5, IBDatabase, IBQuery.

Выполняется для нескольких таблиц подряд следующий код:


  Q.SQL.Text := "ALTER TABLE ""+Src+"" ADD CHDATE DATE DEFAULT ""NOW""";
  Q.ExecSql;
   Q.SQL.Text := "UPDATE ""+Src+"" SET CHDATE=""01.01.2004""";
  Q.ExecSql;


Для нескольких таблиц код отрабатывает без ошибок, а для некоторых возникает исключение -
conversion error from string

Как с этим бороться? Сталкивался кто-нибудь?


 
Vlad ©   (2005-02-07 19:35) [1]


> Alexander Panov ©   (07.02.05 19:19)  

Обычно рекомендуют использовать параметры. Особенно если дело касается дат или дробных чисел.

UPDATE MyTable SET CHDATE = :Param


 
Alexander Panov ©   (2005-02-07 19:40) [2]

Vlad ©   (07.02.05 19:35) [1]
UPDATE MyTable SET CHDATE = :Param


Так тоже делал. Ошибка та же самая.
Вот код:

   
   Q.SQL.Text := "UPDATE ""+Src+"" SET CHDATE=:pDate";
   Q.Params[0].DataType := ftDate;
   Q.ParamByName("pDate").AsDate := now-300;
   Q.ExecSQL;



 
Alexander Panov ©   (2005-02-07 19:57) [3]

Очень странно, но если выполнять запрос на добавление поля и его обновление в одной транзакции, то в этом случае происходит такая ошибка(причем не на всех таблицах).
Если же после каждого запроса выполнять завершение транзакции, то всё отрабатывает без ошибок...


 
Desdechado ©   (2005-02-07 20:14) [4]

В IB строго разделяется изменение метаданных и изменение данных.
В одной транзакции смешивать недопустимо.


 
Alexander Panov ©   (2005-02-07 20:45) [5]

Desdechado ©   (07.02.05 20:14) [4]
Спасибо, теперь знать буду.


 
Fay ©   (2005-02-07 20:46) [6]

2 Vlad ©   (07.02.05 19:35) [1]
В IB дата в виде "XX.XX.XXXX" - это всегда DD.MM.YYYY.


 
Deniz   (2005-02-08 06:34) [7]

И еще не плохо бы на 3 диалект перейти, и вместо DEFAULT NOW использовать DEFAULT current_timestamp или чего там надо.



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

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

Наверх




Память: 0.48 MB
Время: 0.034 c
8-1100845847
_alex_
2004-11-19 09:30
2005.03.06
Как определить область многоугольника


3-1107523646
SHort
2005-02-04 16:27
2005.03.06
Ошибка "Key violation" при выполнении запроса.


14-1108537985
stud
2005-02-16 10:13
2005.03.06
написание ТЗ


14-1108400408
Knight
2005-02-14 20:00
2005.03.06
32-битный цвет под WinXP и Win2003...


1-1108547754
Slonco
2005-02-16 12:55
2005.03.06
Как войти в режим редактирования?