Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с датами в Access. Совет [D6, D7, Paradox, Access]


malamba ©   (2004-11-08 11:23:00) 

Пусть меня заклеймят модераторы, хочу просто выложить свои наблюдения за поведением даты при SQL запросах r Accessy.

пример: SELECT * FROM table WHERE дата BETWEEN дата1 AND дата2

1.если использовать простой запрос (SQL.Add(Text)), то следует использовать конструкцию
'WHERE дата BETWEEN #1/1/2004# AND #12/31/2004#'
дата - в формате #месяц/число/год#

2. если использовать параметры
(SELECT * FROM table WHERE дата BETWEEN :pдата1 AND :pдата2)
то следует использовать
Parameters.ParamValues['pдата1']:='1.1.2004';
Parameters.ParamValues['pдата2']:='31.12.2004';

тип параметра - не установлен (unknown). Дата в своем обычном виде.
Ну не паразиты ли ?


sniknik   (2004-11-08 11:43:00) [1]

кажущаяся проблема в том что не совмещены (и не могут со 100% вероятностью) национальные настройки преобразования дат в системе/jet/delphi
поэтому и не нужно использовать строковых заданий дат (или хотя бы использовать независяшие от национальных настроек форматы, у которых единственное немного скорость на преобразовании/передаче падает в сравнении с оригинальным типом).
даже если все совместить (на старте программы например) то где гарантия что другая паралельно работающая прога (тобой же написанная ;о)) не поменяет? и тогда один запрос пройдет второй сглючит.... "чудо!!! насколько глючный этот аксесс" ;о))


sniknik   (2004-11-08 11:35:00) [2]

а в чем проблема? по моим наблюдениям и
WHERE дата BETWEEN #1/1/2004# AND #31/12/2004#
тоже будет работать (и правильно в этом случае)

> 2. если использовать параметры
то у тебя неправильно (нафига строка?),
> то следует использовать
не следует!!! надо задавать именно дату.


Наверх

Титульная страница Поиск, карта сайта Написать письмо