Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
FAQ. Передача DateTime в Access
|
|||
|---|---|---|---|
|
#18+
Решил я, наконец, окончательно разобраться с передачей даты в запрос к Access из Delphi Что скажете по поводу ниже написанного? FAQ. Передача значения поля DateTime в запрос к базе Access. Win 98 rus. Delphi 6.0. Jet 4.0 MDAC 2.7 rus. Access XP rus. База «Борей». 1. Использование строковой константы. Независимо от того, используется ли Jet или ODBC, дата должна быть представлена в формате MM/DD/YYYY. В качестве разделителя могут быть использованы точка, слэш и тире. ADODataSet1.CommandText:= 'select * from Заказы where ДатаРазмещения<= #03.04.1998# order by ДатаРазмещения DESC'; Тут есть ловушка. Правильно будут обрабатываться и даты вида #31/03/1998#, т.е. те, в которых можно однозначно опознать, где дни, а где месяцы. 2. Использование функций преобразования в запросе Работа через Jet Дата должна быть представлена в формате краткой региональной настройки даты компьютера. В качестве разделителя могут быть использованы точка, слэш и тире. d:='03.04.1998'; ADODataSet1.CommandText:= 'select * from Заказы where ДатаРазмещения<= datevalue("'+d+'") order by ДатаРазмещения DESC'; Ловушка та же самая. Работа через ODBC d:='1998-05-06'; ADODataSet1.CommandText:= 'select * from Заказы where ДатаРазмещения<= {d '+quotedstr(d)+'} order by ДатаРазмещения DESC'; Формат даты только YYYY-MM-DD 3. Использование запроса с параметром Работа через Jet. Необходимо преобразовать дату в строку и воспользоваться функцией DateValue Не зависит от региональных настроек даты. dt:=date; ADODataSet1.CommandText:= 'select * from Заказы where ДатаРазмещения<= datevalue(:D) order by ДатаРазмещения DESC'; ADODataSet1.Parameters[0].Value:=DateToStr(dt); Работа через ODBC dt:=StrToDate('06.05.1998'); Не зависит от региональных настроек даты. ADODataSet1.CommandText:= 'select * from Заказы where ДатаРазмещения<= :D order by ДатаРазмещения DESC'; ADODataSet1.Parameters.ParamByName('D').Value:=dt; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 14:35 |
|
||
|
FAQ. Передача DateTime в Access
|
|||
|---|---|---|---|
|
#18+
Сколько пробовал, а самый надежный способ - параметром дату передавать именно как дату. В Д5 вроде так не прокатывает, но у меня Д6 :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 11:06 |
|
||
|
FAQ. Передача DateTime в Access
|
|||
|---|---|---|---|
|
#18+
по поводу правильности ничего не скажу (не работал), но написано весьма понятливо и доходчиво ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 11:47 |
|
||
|
|

start [/forum/search_topic.php?author=Alex+W.Midonow&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 667ms |
| total: | 776ms |

| 0 / 0 |
