adoquery1.sql.add('select * from table1 where field=:param'); adoquery1.parameters.parambyname('param').value:='result';
Try Prepared:=True; With adoquery1 Do Begin ParamByName('Name1').AsInteger:=... ParamByName('Name2').AsInteger:=... Open; End; Finally Prepared:=False; End; 不知道你要的是不是这个,如果你要连表的名称都做成变量的话,恐怕就要调用数据库的包了,那样的话恐怕要调用后台的存储过程。
adoquery.parameters.parambyname(your params)
SQL中的数据部分(即除SQL命令、表名、字段名、函数以外的单词)用“冒号+参数名”代替。如: Select * from MyTable where Field1 like :QueryKey 中的QueryKey就是参数。 Insert into MyTable Values(:Value1,:Value2,:Value3) 中的Value1,Value2,Value3都是参数。 写好SQL后,调用: ADOQuery1.Parameters.ParseSQL(ADOQuery1.Text, True); 可以自动生成参数,然后你可以用 ADOQuery1.Parameters[n]去为每个参数设置一些详细信息。也可以直接用 ADOQuery1.CreateParameter去手动创建每一个参数。 设置好参数后,就可以调用了: ... ADOQuery1.CreateParametes.ParamValues['Value1'] :='724498'; ADOQuery1.CreateParametes.ParamValues['Value2'] :='ADOQuery的问题'; ADOQuery1.CreateParametes.ParamValues['Value3'] :='zhaiyun'; ADOQuery1.ExecSQL;//如果是SELECT语句,则为Open. ... 设置一次SQL,就应该重新生成一次参数,然后可用不同的参数值多次调用。
with adoquery1 do begin Prepared:=true; Sql.add('select * from Yourtable where YourField=:YourParam'); Parameters.ParamByName('YourParam').value:=YourValue; open; Prepared:=false; showmessage(inttostr(recordcount)); end;
就是楼上们说的。 SQL中的参数是这样格式的 :ParameName
adoquery1.sql.add('select * from onetable where qh:=qh'); adoquery1.parambyname('qh').asstring:='ddddd';
adoquery1.SQL.Clear; adoquery1.SQL.Add('select * from table(表名)'); adoquery1.SQL.Add('where pvend(子段名)=:mfdm(参数)'); adoQUERY1.Parameters.ParamByName('mfdm').Value:=某值;
adoquery1.parameters.parambyname('param').value:='result';
Prepared:=True;
With adoquery1 Do
Begin
ParamByName('Name1').AsInteger:=...
ParamByName('Name2').AsInteger:=...
Open;
End;
Finally
Prepared:=False;
End;
不知道你要的是不是这个,如果你要连表的名称都做成变量的话,恐怕就要调用数据库的包了,那样的话恐怕要调用后台的存储过程。
Select * from MyTable where Field1 like :QueryKey
中的QueryKey就是参数。
Insert into MyTable Values(:Value1,:Value2,:Value3)
中的Value1,Value2,Value3都是参数。
写好SQL后,调用:
ADOQuery1.Parameters.ParseSQL(ADOQuery1.Text, True);
可以自动生成参数,然后你可以用
ADOQuery1.Parameters[n]去为每个参数设置一些详细信息。也可以直接用
ADOQuery1.CreateParameter去手动创建每一个参数。
设置好参数后,就可以调用了:
...
ADOQuery1.CreateParametes.ParamValues['Value1'] :='724498';
ADOQuery1.CreateParametes.ParamValues['Value2'] :='ADOQuery的问题';
ADOQuery1.CreateParametes.ParamValues['Value3'] :='zhaiyun';
ADOQuery1.ExecSQL;//如果是SELECT语句,则为Open.
...
设置一次SQL,就应该重新生成一次参数,然后可用不同的参数值多次调用。
begin
Prepared:=true;
Sql.add('select * from Yourtable where YourField=:YourParam');
Parameters.ParamByName('YourParam').value:=YourValue;
open;
Prepared:=false;
showmessage(inttostr(recordcount));
end;
SQL中的参数是这样格式的 :ParameName
adoquery1.parambyname('qh').asstring:='ddddd';
adoquery1.SQL.Add('select * from table(表名)');
adoquery1.SQL.Add('where pvend(子段名)=:mfdm(参数)');
adoQUERY1.Parameters.ParamByName('mfdm').Value:=某值;