Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-1102006937
Delphin
2004-12-02 20:02
2004.12.19
Destroy


1-1101916379
HydraMarat
2004-12-01 18:52
2004.12.19
Каждая процедурка для каждого типа или "монстр" для всех?


14-1101811755
NewDelpher
2004-11-30 13:49
2004.12.19
параметры экрана Linux 2.4


14-1101669271
Maxim_S~~
2004-11-28 22:14
2004.12.19
помогите с треем!


1-1101844886
Fido24
2004-11-30 23:01
2004.12.19
Как отключить Popup-меню в компоненте?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский