Иллюстрированный самоучитель по 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, в соответствии с заданными в однострочных редакторах Date1Edit и Date2Edit датах, изменяется текст запроса. Метод FormCreate приведен только для того, чтобы обозначить первоначальный текст запроса, этот текст вполне можно задать в свойстве SQL.

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

SELECT PartDat, ItemNo, ItemCount, InputPrice
FROM Parts
WHERE PartDat >=:PD1 AND PartDat<=:PD2

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

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

Иллюстрированный самоучитель по Delphi 7 для профессионалов › Набор данных › Параметры запросов и хранимых процедур
Рис. 12.2. Специализированный редактор параметров запроса

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.