-
amadey_motzart (08.12.08 11:42) [0]Доброго дня, Мастера!
Есть динамический запрос:
Query1.Close;
Query1.SQL.Clear;
Query1.Parameters.ParamByName('D1').Value:=listbox1.Items.Strings[(listbox1.item index)];
Query1.SQL.Add('select * from place Where data=:D1');
Query1.Open;
пишетт: Параметр D1 не найден :-(
вопрос: в чем причина и как правильно передавать параметр в динамический запрос ADOQuery? -
ANB (08.12.08 11:43) [1]Query1.Close;
Query1.SQL.Text := 'select * from place Where data=:D1'; Query1.Parameters.ParamByName('D1').Value:=listbox1.Items.Strings[(listbox1.item index)]; -
amadey_motzart (08.12.08 11:46) [2]Параметр D1 not found .......
-
Если совсем правильноЮ то:
var
param : TParameter;
begin
with Query1 do
begin
if Active then Close;
parameters.Clear;
SQL.Text := 'Select * from place where data=?';
param := parameters.AddParam;
param.Name := 'D1';
param.DataType = ... (вот тут я не знаю, какой у тебя тип данных. Сам выбирай)
param.Direction := pdInput;
Parameters.PramByName('D1').Value := ... (зависит от типа параметра)
try
Open;
except
....
end;
end;