Главная страница
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.056 c
1-1108801032
Bogdan
2005-02-19 11:17
2005.03.06
Image


14-1108280948
Сергей Суровцев
2005-02-13 10:49
2005.03.06
Минус на минус дает Большой минус!


4-1106087116
DmitryMN
2005-01-19 01:25
2005.03.06
Мониторинг жесткого диска


14-1108568212
kaZaNoVa
2005-02-16 18:36
2005.03.06
Шифрование в клиент-серверных приложениях


1-1108562992
AlexG
2005-02-16 17:09
2005.03.06
Пора бы добавить пункты: D2005 и Win2003...