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,很多人遇到这个问题,还没有解决答案。 展开
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,很多人遇到这个问题,还没有解决答案。 展开
1个回答
展开全部
1 代码没错误 要错误也是别的地方错误 ;例如 单引号
2 既然你用了with ADOQuery1 do
那应该是
with ADOQuery1 do
begin
Close;
sql.clear;
SQL.Add('select * from [table]');
....................
end;
后面照样写了ADOQuery1 多此一举
2 既然你用了with ADOQuery1 do
那应该是
with ADOQuery1 do
begin
Close;
sql.clear;
SQL.Add('select * from [table]');
....................
end;
后面照样写了ADOQuery1 多此一举
更多追问追答
追问
我直接复制的代码到另外一个UNIT里就可以通过,单引号什么的也不会错啊
我是新手,请问如果用adoquery查询多个edit.text,格式怎么写啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询