Форум: "Базы";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];
ВнизРабота с датой Найти похожие ветки
← →
AJ blacksmith (2002-05-13 18:39) [0]Кто знает, как сравнивать даты выбраные с базы. (простые операторы < > не работают)...
← →
Reindeer Moss Eater (2002-05-13 18:40) [1]Они работают
← →
Anatoly Podgoretsky (2002-05-13 18:48) [2]Нормально работают, у тебя наверно ошибка в программе.
← →
AJ blacksmith (2002-05-13 18:53) [3]Но я сравниваю с DateTimePicker, может какой-то опредиленный синтаксис нужен?
← →
Reindeer Moss Eater (2002-05-13 18:54) [4]Совсем неопределенный синтаксис конечно не получится использовать.
Может покажешь свой?
← →
AJ blacksmith (2002-05-13 19:01) [5]Ну,че-то типа етого:
sss - окончательний SQL запрос (строковой)
head - начало запроса, типа select....from... (строковой)
sss:=head+" and main.dat_dog > "+DateTimePicker2.Date+" and main.dat_dog < "+DateTimePicker2.Date;
и вот ето не канает, может че не так (извиняюсь, я только учусь)
← →
Reindeer Moss Eater (2002-05-13 19:05) [6]Блеск!
А кавычки вот именно так и расставлены? :)))
"...and main.dat_dog > "+ FormatDateTime("dd.mm.yyyy",DateTimePicker2.Date)
← →
Val (2002-05-13 19:06) [7]sss:=head+" and main.dat_dog > :MyDate and main.dat_dog < MyDate";
Query.ParamByName(MyDate).AsDateTime:=DateTimePicker2.Date;
Query.Open;
или так:
sss:=head+" and main.dat_dog > "+#39+DateToStr(DateTimePicker2.Date)+#39+" and main.dat_dog < "+#39+DateToStr(DateTimePicker2.Date)+#39+ " ";
← →
Reindeer Moss Eater (2002-05-13 19:06) [8]А вообще есть такая вещь как параметрические запросы.
Это если серьезно.
← →
AJ blacksmith (2002-05-13 19:14) [9]а че значит #39?
← →
AJ blacksmith (2002-05-13 19:22) [10]...нет, ну в SQL-ле можно записать :
...and main.dat_dog > 10.04.02 and main.dat_dog < 10.05.02
???????????
а ведь ошибку выдает.....
← →
Val (2002-05-13 19:24) [11]#39 значит кавычка одинарная. Вам даты нужно в кавычки взять. Но лучше пользоваться параметрами.
← →
AJ blacksmith (2002-05-13 19:30) [12]
sss:=head+" and main.dat_dog > :MyDate and main.dat_dog < MyDate";
a MyDate какой тип данных?
← →
Desdechado (2002-05-13 20:25) [13]это параметр (во втором случае пропущено двоеточие), а он присваивается As..., как видно из примера Val © (13.05.02 19:06)
но лучше их одинаково не называй и призваивай значения каждому явно.
← →
icu (2002-05-13 20:39) [14]Hiya,
"А вообще есть такая вещь как параметрические запросы.
Это если серьезно."
Обрати внимание на это.
← →
AJ blacksmith (2002-05-14 10:00) [15]Сделал я через параметрический запрос, а оно все равно ошибку выдает:
You must be in ShowCheckbox mode to set to this date
Что делать?
← →
Reindeer Moss Eater (2002-05-14 10:16) [16]"Переустановить виндоуз и заменить все микросхемы"
← →
Desdechado (2002-05-14 10:20) [17]а это уже из области компонентов и никакого отношения к сравнению дат в БД не имеет
← →
Turalyon (2002-05-14 10:40) [18]>AJ blacksmith
Напиши полный текст всего того что ты сделал (в смысле формирования запроса).
← →
Hrul (2002-05-22 18:36) [19]Как верно заметил Reindeer Moss Eater:
"А вообще есть такая вещь как параметрические запросы.
Это если серьезно."
Это примерно так:
var
dt : TDateTime;
begin
Dt := ...
With Query1 do begin
Close;
Clear;
Params.Clear;
SQL.Add("SELECT * FROM TABLE WHERE DT_FIELD = :MYDATE" );
Params.ParamByName("MYDATE").AsDateTime := Dt;
Open;
end;
end;
Во первых, параметрические запросы избавляют от необходимости анализа типа СУБД и соответственно каким образом он хранит в себе даты, а во-вторых даст эффект при работе со String"ми, если внутри нее присутствует символ """. Например, юзер ввел в поле строку "Smit"s".
Желаю удачи.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c