例如有如下程序:ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from 表名 where 字段1=:a and 字段2=:b');
ADOQuery1.Parameters.ParamByName('a').Value:='字段值1';
ADOQuery1.Parameters.ParamByName('b').Value:='字段值2';
ADOQuery1.Open;请问大虾:ParamByName括号中的参数:如上述程序的a或b,能否用一个变量数组来表示?如下:
ADOQuery1.Parameters.ParamByName('a[i]').Value:='字段值[i]';
这样,如果有大量的参数,我就可以用一个循环来描述,而不是一行一行地去写程序了。请指点,多谢。
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from 表名 where 字段1=:a and 字段2=:b');
ADOQuery1.Parameters.ParamByName('a').Value:='字段值1';
ADOQuery1.Parameters.ParamByName('b').Value:='字段值2';
ADOQuery1.Open;请问大虾:ParamByName括号中的参数:如上述程序的a或b,能否用一个变量数组来表示?如下:
ADOQuery1.Parameters.ParamByName('a[i]').Value:='字段值[i]';
这样,如果有大量的参数,我就可以用一个循环来描述,而不是一行一行地去写程序了。请指点,多谢。
ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select * from ');
ADOQuery1.SQL.Add('表名');
ADOQuery1.SQL.Add(' where ');for i:=0 to 9 do
begin
ADOQuery1.SQL.Add(a[i]);
ADOQuery1.SQL.Add('=');
ADOQuery1.SQL.Add(p[i]); if i <> 9 then ADOQuery1.SQL.Add(' and ');
ADOQuery1.Parameters.ParamByName('p[i]').Value:=b[i];
end;ADOQuery1.Open;但是红色区域总是出错,
with ADOQuery1 do begin
Close;
sql.Text:='select * from 表名 where 字段1=:a and 字段2=:b';
for i :=0 to Parameters.Count-1 do
Parameters[i].Value:=b[i];
open;
end;
这里p[i]做为了个参数了,而不是其实际的值,自己再调试下吧。