Вниз
Скачать: CL | DM;

Передача параметра типа TDaateTime в TADOQuery   Найти похожие ветки 

← →
jafar   (2004-02-27 23:02) [0]

Добрый день.
Подобный вопрос задавался в форуме, но ответов на него поисковик не выдал. Посему, просьба отнестить к проблеме с пониманием :).
Проблема в следующем: Есть запрос на обновление записи в таблице Access"а, которая содержит поле DateTime. В дизайнере я настроил параметр запроса с типом ffDateTime и передаю ему в качестве значения TDateTime. Если передавать дату, у которой день > 12, то после вызова ExecSQL, дата нормально в БД сохраняется. Если день < 12, то при сохранении в БД месяц и день меняются местами, что недопустимо :)

Вопрос: существует ли способ настроить TADOQuery или TParameter так, чтобы данный глюк не наблюдался?

PS. В принципе, можно попробовать передавать дату как строковый литерал ( и так скорее всего будет работать ), но интересует возможность более красивого решения проблемы...


← →
Johnmen ©   (2004-02-28 02:25) [1]

Это лукавство сплошное...
Приведи код.


← →
jafar   (2004-02-28 13:34) [2]

Вот кусок кода, который некорректно работает...

if ( SelectSubworks.FieldValues["ID"] <> Null ) then begin
   // редактируем существующую запись
   EditSubwork.Parameters.ParamByName("@ID").Value := SelectSubworks.FieldValues["ID"];
   EditSubwork.Parameters.ParamByName("@performed").Value := datePicker.Date;
   EditSubwork.ExecSQL;
end;

А вот примеры того, что получается при разных датах:
Исходная дата: 25.02.2004 -> Ложится в базу корректно,
Дата 8.02.2004 сохраняется в Access как 2.08.2004
Как можно добиться нормального сохранения любой даты?


← →
Sam Stone ©   (2004-02-28 18:55) [3]

Поищи что-то типа ShortDateTimeFormat, LongDateTimeFormat


← →
menart ©   (2004-02-28 19:30) [4]


> EditSubwork.Parameters.ParamByName("@performed").Value :=
> datePicker.Date;

попробуй так:
EditSubwork.Parameters.ParamByName("@performed").asDateTime :=  datePicker.Date;



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

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



Память: 0.46 MB
Время: 0.022 c
14-1077897959
Тимохов
2004-02-27 19:05
2004.03.28
Мастера! Признайтесь


1-1078838918
UnSirious
2004-03-09 16:28
2004.03.28
Работа со строками в Memo.


3-1076957114
casper
2004-02-16 21:45
2004.03.28
Использую TADOQuery1.Запрос SELECT * FROM DB WHERE DB.DATA=01/06


3-1077967929
Kryukov Andrew
2004-02-28 14:32
2004.03.28
Поля в Table


1-1078999284
Курдль
2004-03-11 13:01
2004.03.28
Как правильно вывести метафайл на принтер?




   Наверх