Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.043 c
14-1108486849
ShadowDev
2005-02-15 20:00
2005.03.06
10WMZ за кейлоггер


1-1109225593
Screamer
2005-02-24 09:13
2005.03.06
Длина символа


4-1106580207
Norny
2005-01-24 18:23
2005.03.06
Как узать, какая сейчас нажата клавиша?


8-1100250050
Ricko
2004-11-12 12:00
2005.03.06
Управление микшером звуковой карты MIA (Echo Digital Audio)


1-1109078181
Aleks
2005-02-22 16:16
2005.03.06
как присвоить группе переменных группу данных




   Наверх