Форум: "Базы";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
ВнизПередача параметра типа 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 вся ветка
Форум: "Базы";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c