![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Грабли с датами в ADO [D6, Access XP]
Sirruf © (2004-08-27 11:24:00)Работаю с Access XP через ADO. Странная вещь: пишу в ADOQuery запрос на обновление
Update Payments
set PaymentDate = :PDate
where
ID = :ID
Значение даты берется из компонета RX TDateEdit. И, если, например, пользователь вводит дату 03.08.2004, в базу данных заносится почему-то значение 08.03.2004, то есть день и месяц меняются местами, причем это происходит на всех машинах, где установлена программа. С Интербейсом ничего подобного не происходило. Никто с таким не сталиквался?
sniknik (2004-08-30 14:13:00) [1]> Значение даты берется из компонета RX TDateEdit.
как берется?
запрос у тебя с параметром, так передавай в него (параметр) дату (а не строку) и все будет в порядке, независимо от локальных настроек.
> При работе с другими СУБД ничего такого не происходило, только с ADO в Access.
тот кто это придумал (интелектуальность в jet), от этого наверняка тащится, остальные удивляются. (пока не привыкнут)
у jet-а такая "фенечка", если запрос/параметр задан ошибочно его приводят к "правильному" виду, кроме дат можно "путать" типы (например проверь SELECT 2+'3') срабатывает автоприведение.
иногда это удобно.
sveralex (2004-08-30 13:10:00) [2]А какой формат даты в ркниональных настройках?
Может там MM.DD.YYYY ???
Sirruf (2004-08-27 14:18:00) [3]Если число двузначное, то все нормуль, а если меньше 10, то переставляются местами число и месяц. В настройках формат даты как надо. При работе с другими СУБД ничего такого не происходило, только с ADO в Access. Чудеса на виражах
Sergey13 (2004-08-27 13:39:00) [4]Попробуй внести нечто вроде 25.12.2004. Если пройдет то наверное это просто разный формат даты
Sirruf (2004-08-27 13:32:00) [5]Значит, никто не сталкивался с подобными вещами?