Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Странная ситуация С ADO запросом   Найти похожие ветки 

 
Alex_x ©   (2003-10-22 10:35) [0]

База аксес запрсом отбираю за перидод по дате. ...Data>#12/05/03# and Data<=#21/10/03#.... количество отобраних записей 0 (хотя они есть за этот период). когда первую дату пишу на день раньше типа #11/05/03# то всё нормально


 
bushmen ©   (2003-10-22 11:12) [1]

А у тебя все записи датированы случайно не 12/05/03 ?


 
Johnmen ©   (2003-10-22 11:18) [2]

>(хотя они есть за этот период)

На дату 12/05/03 ? :)


 
sniknik ©   (2003-10-22 12:17) [3]

попробуй напиши так
... Data between #05/12/03# and #10/21/03# ....
(месяц/день/год)

у тебя судя по #21/10/03# день первый, акцесс во многих случаях так понимает, но лутше не злоупотреблять
(по мне так лутше бы в одном случае давали бы явную ошибку и не было бы путаници, но как зделано так сделано).


 
Alex_x ©   (2003-10-22 12:25) [4]

тоесть он использует американский формат даты ММ/ДД/УУ?

я гдето читал что есть разница при создании базы какие региональние стандарты стояли на компе. например "Русские" и если потом работать с этой базой на компе где стоят региональние стандарты другие то будут глюки?


 
Семен Сорокин ©   (2003-10-22 12:28) [5]

2Alex_x
1. используй параметры
2. проверь нет ли "времени" в поле


 
sniknik ©   (2003-10-22 12:33) [6]

вообше он понимает любой формат, сам решает как интерпретировать (что мне и не нравится).
но не всегда, в случае если одну дату в выражении задать в одном другую в другом, решит скорее всего неправильно (но ошибки не даст).

ну вот например, у меня
select #12/05/03#
дает дату 05.12.2003
а вот
select #13/05/03#
03.05.2013
что называется найдите отличия. ;о)


 
sniknik ©   (2003-10-22 12:35) [7]

да если год поставить
select #13/05/2003#
то
13.05.2003
(везде по разному :о((()


 
bushmen ©   (2003-10-22 12:36) [8]

А в Access"e нет конветрера с форматом, чтобы однозначно задавать формат даты?


 
Val ©   (2003-10-22 12:40) [9]

>sniknik © (22.10.03 12:33) [6]
а нельзя разве указывать формат, например:
select * from doctable where format(docdate,"dd.mm.yyyy") = "01.06.2003" ?


 
sniknik ©   (2003-10-22 12:45) [10]

Val © (22.10.03 12:40) [9]
ну это ты к тексту привел, а с текстом опереции дольше, и промежуток выберет неправильно (ну надо думать чтобы правильно было)

мне больше нравится такая запись
... date between "20031020" and "20031023" ...
все однознсчно.


 
sniknik ©   (2003-10-22 12:53) [11]

bushmen © (22.10.03 12:36) [8]
не заметил твоего поста. запись выше однозначна но не совсем если операция не с датой то это будет просто строка.

повбывал бы, кто это все придумал. %о)))

есть еще функции, DateSerial(2003, 12, 10) к примеру, задает параметры более менее однозначно , но если к примеру задать дней больше чем в месяце то тоже ошибки не будет просто добавит месяц.
и т.д. ...
;о)))


 
Val ©   (2003-10-22 12:56) [12]

>sniknik © (22.10.03 12:45) [10]
я о промежутке не говорил(там between без разговоров :)) - только о возможности приведения к нужному формату, понятно, что используя форматирование, операции будут происходить несколько дольше, зато нет путаницы.


 
Ломброзо ©   (2003-10-22 13:49) [13]

Семен Сорокин © категорически прав, при работе с датами с любой СУБД настоятельно рекомендуется использовать параметры, а не форматировать их в тело запроса.


 
Alex_x ©   (2003-10-22 14:00) [14]

я не работал с параметрами, я так понимаю если есть два параметра которым присваивается дата, то уже она будет в правильном формате?????


 
Семен Сорокин ©   (2003-10-22 14:28) [15]

Alex_x © (22.10.03 14:00) [14]
qr.Sql.Add("select * from table1 where [data]>:data1 and [data]<=:data2");
qr.Parameters.ParamByName("data1").Value := DateTimePicker1.DateTime;
qr.Parameters.ParamByName("data2").Value := DateTimePicker2.DateTime;
qr.Open;


 
Anatoly Podgoretsky ©   (2003-10-22 14:38) [16]

sniknik © (22.10.03 12:45) [10]
Системно независимый формат, а вот #10/01/03# как минимум есть неодназначность с 03, это какой год 1903, 1803?


 
Anatoly Podgoretsky ©   (2003-10-22 14:39) [17]

Это означает, что при работе с литералами, тем более в ткой форме всегда будет существовать неодназначность, надои или параметы или системнонезависимый формат


 
Vitaly ©   (2003-10-22 14:52) [18]

...Data> =#12/05/03# and Data<=#21/10/03#....



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

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.023 c
14-42108
Незнайка
2003-10-23 02:04
2003.11.13
Хотел узнать термин


3-41089
AlexGreG
2003-10-23 10:11
2003.11.13
... Куда подевались установленные свойства? :o( ...


1-41712
Cranium
2003-11-03 18:56
2003.11.13
Как в обработчике события запретить его?


1-41136
Vitall
2003-11-03 15:34
2003.11.13
Как из Memo удалить заданные фильтром слова


1-41655
Alles
2003-10-25 15:46
2003.11.13
Что за библиотека ToolIntf