delphi报错:adoquery1:parameter '' not found(adoquery1:parameter 's1' not found)

procedureTForm2.Button1Click(Sender:TObject);beginwithADOQuery1doADOQuery1.Close;ADOQ... procedure TForm2.Button1Click(Sender: TObject);
begin
with ADOQuery1 do
ADOQuery1.Close;
ADOQuery1.sql.clear;
ADOQuery1.SQL.Add('select * from [table]');
ADOQuery1.SQL.Add(' where [ID]=:s1') ;
ADOQuery1.Parameters.ParamByName('s1').Value:=trim(edit1.Text);//这里报错,s1找不到

ADOQuery1.open;
ADOQuery1.Active:=false;
ADOQuery1.Active:=true;
DataSource1.DataSet:=ADOQuery1 ;
end;
end.
这段代码放在两个UNIT里,一个可以通过,一个就不可以通过,这是为什么,总是报错,找不到s1,很多人遇到这个问题,还没有解决答案。
展开
 我来答
sirouszlh
2014-09-24 · TA获得超过1651个赞
知道小有建树答主
回答量:1038
采纳率:100%
帮助的人:645万
展开全部
1 代码没错误 要错误也是别的地方错误 ;例如 单引号
2 既然你用了with ADOQuery1 do

那应该是
with ADOQuery1 do

begin
Close;
sql.clear;
SQL.Add('select * from [table]');
....................
end;

后面照样写了ADOQuery1 多此一举
更多追问追答
追问
我直接复制的代码到另外一个UNIT里就可以通过,单引号什么的也不会错啊
我是新手,请问如果用adoquery查询多个edit.text,格式怎么写啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式