Форум: "Базы";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
ВнизДелфи и SQL запрос с датой Найти похожие ветки
← →
ВицеЧайник (2004-11-17 16:28) [0]База Access
в Delphi:
TADOQuery.SQL если пишу:
Select Поле From База
Where пДатаВремя BETWEEN #01/01/2004# AND #21/11/2005#
работает, а если так:
Select Поле From База
Where пДатаВремя BETWEEN :prmDate1 AND :prmDate2
то результат Nul
в модуле:
Active := False;
Parameters.ParamValues["PrmDate1"] := Date;
Parameters.ParamValues["PrmDate2"] := Date;
Active := True;
где грабли?
← →
Johnmen © (2004-11-17 16:32) [1]>где грабли?
ЗдесьParameters.ParamValues["PrmDate1"] := Date;
Parameters.ParamValues["PrmDate2"] := Date;
значения параметров будут одинаковы с точностью 13.7 наносекунд
:)
← →
Nikolay M. © (2004-11-17 16:32) [2]
> Parameters.ParamValues["PrmDate1"] := Date;
> Parameters.ParamValues["PrmDate2"] := Date;
Запорс получается вида
...
пДатаВремя >= Date AND пДатаВремя < Date
← →
Nikolay M. © (2004-11-17 16:34) [3]
> значения параметров будут одинаковы с точностью 13.7 наносекунд
Почему? Это же дата, ы?
← →
ВицеЧайник (2004-11-17 16:38) [4]При Date1 <> Date2 результат тот-же, я имел ввиду, что переменная там типа TDateTime ...
← →
ВицеЧайник (2004-11-17 16:40) [5]вдогонку: и даже, если они одинаковые, то должны выдавать записи, которые удовлетворяют условие (такие есть), а он молчит ...
← →
Johnmen © (2004-11-17 16:41) [6]>Почему? Это же дата, ы?
Потому что я взглюкнул на тему Now<>Date
:)
← →
Johnmen © (2004-11-17 16:43) [7]>ВицеЧайник (17.11.04 16:40) [5]
Не-а. Не должен. Разве что время в составе значений поля таблицы есть 0.
← →
sniknik © (2004-11-17 17:22) [8]> Select Поле From База
> Where пДатаВремя BETWEEN #01/01/2004# AND #21/11/2005#
не равно
> Select Поле From База
> Where пДатаВремя BETWEEN :prmDate1 AND :prmDate2
> Active := False;
> Parameters.ParamValues["PrmDate1"] := Date;
> Parameters.ParamValues["PrmDate2"] := Date;
равнозначные параметры дадут тот же результат
Parameters.ParamValues["PrmDate1"] := StrToDate("01.01.2004");
Parameters.ParamValues["PrmDate2"] := StrToDate("21.11.2004");
← →
ВицеЧайник (2004-11-19 09:46) [9]Sniknik! большое спасибо.
Только, если не жалко времени, поясни, почему
работает
Parameters.ParamValues["PrmDate1"] := StrToDate("01.01.2004");
а не работает:
Parameters.ParamValues["PrmDate1"] := ПеременнаяTипа_TDateTime
в чём разница, ведь д.б.
ПеременнаяTипа_TDateTime = StrToDate("01.01.2004")
← →
sniknik © (2004-11-19 11:27) [10]> а не работает:
> Parameters.ParamValues["PrmDate1"] := ПеременнаяTипа_TDateTime
не работает у тебя не потому что тот же DateTime другим способом задаеш а потому что и в первом и во втором параметре Date задаеш, периода не получается (0-0 что между ними?) а текущей даты у тебя в базе видимо нет.
вот так проверь, тоже сработает
Parameters.ParamValues["PrmDate1"] := StartOfAYear(Date);
Parameters.ParamValues["PrmDate2"] := Date;
← →
Anatoly Podgoretsky © (2004-11-19 12:22) [11]ВицеЧайник (17.11.04 16:40) [5]
Нет у тебя в базе таких записей
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c