![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SOL-запрос интервала даты и времени в Delphi
VEGA_ © (2006-12-07 18:20:00)Люди добрые!, помогите пожалуйста, сделать правильный SOL-запрос всех записей из
интервала даты и времени в Delphi база Access, при этом есть условие:
начальное и конечное значения интервала даты и времени есть значения MaskEdit1.Text,
что только я не пробовал и # и & и $ и бесконечные ''''''и like,
короче ничего не получается и каша в голове.
Приведите пожалуйста простой но рабочий примерчик.
Заранее спасибо!!!
evvcom (2006-12-13 10:37:00) [1]> [4] Desdechado © (12.12.06 12:50)
Ну тогда я безбожно отстал :-)
Desdechado (2006-12-12 22:07:00) [2]alex810 © (12.12.06 20:51) [5]
А вот так по-варварски лучше не делать, бо можно отгрести массу проблем, например:
1. при разных локалях сервера и клиента будет вовсе не та дата в строке, которую ожидаешь или, в лучшем случае, просто словишь ошибку
2. забивать процедурный кэш сервера непараметризованным мусором - верный путь к убиению производительности
Я ж не зря показал разные способы применения параметров в [1]
alex810 (2006-12-12 20:51:00) [3]
> В добавление [1] а даты выбирать не из MaskEdit а из DateTimePicker-
> а
procedure TForm11.Button1Click(Sender: TObject);
var data1,data2:String;
begin
data1:=DateToStr(Form19.DateTimePicker1.Date);
data2:=DateToStr(Form19.DateTimePicker2.Date);
if ComboBox1.ItemIndex=0 then
begin
Query1.Close;
Query1.SQL.text:='SELECT *' +
' FROM Таблица' +
' WHERE data between '''+data1+''''+' and '''+data2+'''';
Query1.Open;
DataSource1.DataSet:=Query1;
end;
end;
Desdechado (2006-12-12 12:50:00) [4]evvcom © (12.12.06 08:56) [3]
мож, это Simple Object Language ;))
evvcom (2006-12-12 08:56:00) [5]И еще добавление: SOL-запросов нету таких, есть SQL.
Max Zyuzin (2006-12-08 12:22:00) [6]>VEGA_ © (07.12.06 18:20)
В добавление [1] а даты выбирать не из MaskEdit а из DateTimePicker-а
Desdechado (2006-12-07 18:42:00) [7]
with(query)do begin
SQL.Text:='SELECT * FORM tabl WHERE x BETWEEN :P0 AND :P1';
Params[0].AsDateTime := ...
ParamByName( 'P1' ).AsDateTime :=
Open;
end;