![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADO+ODBC Firebird [D7, Firebird]
elserpiente © (2007-04-11 11:39:00)Привет всем!
Столкнулся с такой проблемой:
есть таблица FB, с полем td Timestamp, и программа которая работает с этой таблицей. Программа работает через ADO компоненты.
Вставляю новую запись я с помощью параметров:
adoquery.sql.text = 'insert into test (td) values (:ftime)';
adoquery.Parameters.FindParam('ftime').Value = now;
adoquery.execsql
смотрим в таблицу...а там в поле td запись: "11.04.2007 0:00:00".
в adoquery.Parameters.FindParam('ftime').datatype = ftDateTIme;
если же не пользоваться параметрами и вставлять текстом то все работает. Ничего не пойму...мо кто поможет?
sniknik (2007-04-11 12:55:00) [21]> adoquery.sql.text = 'insert into test (td) values (:ftime)';
> adoquery.Parameters.FindParam('ftime').Value = now;
> adoquery.execsql
перепиши на
with adocommand do begin
commandtext:= 'insert into test (td) values (:ftime)';
Parameters.ParamByName('ftime').Value:= now;
execute;
end;
(не потому, что в твоем ошибка, может и нет, но с идеологически неверным подходом даже начинать разбираться не стоит... я и не буду.)
elserpiente (2007-04-11 12:22:00) [22]
> Это само определилось или руками выставлял?
само
> Попробуй ftTimeStamp.
вылетает ошибка "EOleException with message 'Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another'. Process Project1.exe (1184)"
Desdechado (2007-04-11 12:01:00) [23]> в adoquery.Parameters.FindParam('ftime').datatype = ftDateTIme;
Это само определилось или руками выставлял?
Попробуй ftTimeStamp.