Промежуток между датами!

Lenr
Дата: 02.06.2009 18:23:06
Привет всем! Надо вывести записи входящие в промежуток между датами! Дату задаешь на DateTimePicker.
пишу так:
zappodat.ADOQuery1.Close;
 zappodat.ADOQuery1.SQL.Clear;
 zappodat.ADOQuery1.SQL.Add('SELECT **  FROM * ');
 zappodat.ADOQuery1.SQL.Add('WHERE (data >=#13/04/2009#)');
 zappodat.ADOQuery1.SQL.Add('and (data<=#17/04/2009#)');
 zappodat.ADOQuery1.Open;
все выводит,
пишу так:
data1:=(DateTimePicker1.DateTime);
  data2:=(DateTimePicker2.DateTime) ;
  zappodat.ADOQuery1.Active:=False;
  zappodat.ADOQuery1.SQL.Clear;
  zappodat.ADOQuery1.SQL.Add('SELECT **');
  zappodat.ADOQuery1.SQL.Add(' FROM *');
  zappodat.ADOQuery1.SQL.Add('WHERE (data>=data1) and (data<=data2)');
  zappodat.ADOQuery1.Active:=true;
Выводит ошибку: Параметр data1 не имеет значения по умолчанию.
OracleLover
Дата: 02.06.2009 18:25:15
Lenr,

вам надо использовать параметры, либо грамотнее составлять строку запроса
Lenr
Дата: 02.06.2009 18:57:08
А по конкретнее? Ну очень уж нужно!
Гаджимурадов Рустам
Дата: 02.06.2009 19:04:06
Lenr
пишу так:
data1:=(DateTimePicker1.DateTime);
  data2:=(DateTimePicker2.DateTime) ;
  zappodat.ADOQuery1.Active:=False;
  zappodat.ADOQuery1.SQL.Clear;
  zappodat.ADOQuery1.SQL.Add('SELECT **');
  zappodat.ADOQuery1.SQL.Add(' FROM *');
  zappodat.ADOQuery1.SQL.Add('WHERE (data>=data1) and (data<=data2)');
  zappodat.ADOQuery1.Active:=true;
Выводит ошибку: Параметр data1 не имеет значения по умолчанию.

В поиск, мильон раз приводились примеры.
Lenr
Дата: 02.06.2009 22:06:31
Да знаю что много примеров, но немогу найти подходящее!!!(((
RENaissance
Дата: 02.06.2009 22:17:31
Lenr
Да знаю что много примеров, но немогу найти подходящее!!!(((

Наберите в строке поиска фразу - "ПАРАМЕТРЫ, ПАРАМЕТРЫ, ПАРАМЕТРЫ"
Док
Дата: 03.06.2009 01:20:35
Lenr,

попробуй так:

zappodat.ADOQuery1.SQL.Text:= 
'SELECT **  FROM * WHERE (data>= :data1) and (data<= :data2)';
zappodat.ADOQuery1.Prepare;
zappodat.ADOQuery1.Parameter.ParamByName('data1').Value:= DTPicker1.DateTime;
..... //далее по аналогии

зы. Параметр, эта такая штука, перед которой стоит двоеточие (как в часах 14 поделить на 00) Картинка с другого сайта.
Lenr
Дата: 03.06.2009 07:06:08
Всё, спасибо Док. Сделал как ты сказал(с небольшими переделками)! Главное все получилось :-)