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

Работа с датами в Access. Совет   Найти похожие ветки 

 
malamba   (2004-11-08 11:23) [0]

Пусть меня заклеймят модераторы, хочу просто выложить свои наблюдения за поведением даты при 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:35) [1]

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

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


 
sniknik ©   (2004-11-08 11:43) [2]

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



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

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



Память: 0.45 MB
Время: 0.028 c
1-1101325190
BuG
2004-11-24 22:39
2004.12.05
Как сделать так, чтобы появлялась форма-заставка, пока программа


8-1094214852
CraKerX
2004-09-03 16:34
2004.12.05
Гиф анимация


6-1096015185
RoMka
2004-09-24 12:39
2004.12.05
IP адрес машины, находящейся в другой рабочей группе?


3-1099647879
Санёк
2004-11-05 12:44
2004.12.05
Отмена DataSet.Open в потоке


14-1100269923
AlexG
2004-11-12 17:32
2004.12.05
Что означает возможность форвардинга?




   Наверх