Главная страница
    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.038 c
1-1102343942
Dysan
2004-12-06 17:39
2004.12.19
дополнения к IDE Delphi


3-1100713088
SergP.
2004-11-17 20:38
2004.12.19
SQL. DELETE из одной (нескольких таблиц) при использ. нескольких


1-1101850354
Mega
2004-12-01 00:32
2004.12.19
Обмен сообщениями между MDIParent и MDIChild


14-1101716558
Green_Templar
2004-11-29 11:22
2004.12.19
руссификатор для Windows XP


6-1097008917
santey
2004-10-06 00:41
2004.12.19
как прослушать то что посылает прога серваку





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский