Программирование на Delphi 7


         

Параметры запросов и хранимых процедур



Параметры запросов и хранимых процедур


Свойство Params представляет собой набор изменяемых параметров запроса или хранимой процедуры, а также набор объектов TParam, инкапсулирующих отдельные параметры.

Рассмотрим следующий запрос SQL:

SELECT SaleDat, OrderNo

FROM Orders



WHERE SaleDat >= '01.08.2001' AND SaleDat <= '31.08.2001'

В нем осуществляется отбор номеров заказов, сделанных в августе 2001 года. Теперь вполне естественно было бы предположить, что пользователю может понадобиться получить подобный отчет за другой месяц или за первые десять дней августа.

В этом случае можно поступить так:

procedure TForml.FormCreate(Sender: TObject);

begin

with Queryl do

 begin

SQL[0] := 'SELECT PartDat, ItemNo, ItemCount, InputPrice'; 

SQL[1] := 'FROM Parts';

SQL[2] := 'WHERE PartDat>= "01.08.2001" AND PartDat<=" 31. 08 . 2001 ''';

 end;

 end;

procedure TForml.RunBtnClick(Sender: TObject);

 begin

with Queryl do

begin

if Active then Close;

SQL[2] := 'WHERE PartDat>= '+chr(39)+DatelEdit.Text+chr(39)+  

AND PartDat<='+chr(39)+Date2Edit.Text+chr(39);

 Open;

  end; 

end;

При создании формы в методе FormCreate задается текст запроса. Для этого используется свойство SQL. При щелчке на кнопке RunBtn, в соответствии с заданными в однострочных редакторах DatelEdit и Date2Edit датах, изменяется текст запроса. Метод FormCreate приведен только для того, чтобы обозначить первоначальный текст запроса, этот текст вполне можно задать в свойстве SQL.

Для решения подобных задач как раз и используются параметры. В этом случае текст запроса будет выглядеть следующим образом:

SELECT PartDat, ItemNo, ItemCount, InputPrice

FROM Parts

WHERE PartDat>= :PD1 AND PartDat<= :PD2

Двоеточие перед именами PD1 и PD2 означает, что это параметры. Имя параметра выбирается произвольно. В списке свойства Params первым идет тот параметр, который расположен первым по тексту запросу.

После ввода в свойстве SQL текста запроса для каждого параметра автоматически создается объект TParam. Эти объекты доступны в специализированном редакторе, который вызывается при щелчке на кнопке свойства Params в Инспекторе объектов (Рисунок 12.2). Для каждого параметра требуется установить тип данных, который должен согласовываться с типом данных соответствующего поля.



Содержание раздела