各位高手,帮帮忙!谢谢了!
我在程序中使用了radiogroup组件,但是在同一次测试中,我选择其中一个,可以用,但我选择下一个时就出现如下错误。错误信息为:检测到错误类EOleException,错误信息:‘多步操作产生错误。请检查每一步的状态值。’部分代码如下:
procedure TFromquery.dblcbClick(Sender: TObject);
var sqlcmd:string;
begin
ADOQrycu.Close;
ADOQrycu.SQL.Clear;
case rdg.ItemIndex of
0: sqlcmd:='select * from customers where Cid='+quotedstr(dblcb.Text);
1: sqlcmd:='select * from customers where Cprovince='+quotedstr(dblcb.Text);
2: sqlcmd:='select * from customers where Ccity='+quotedstr(dblcb.Text);
3: sqlcmd:='select * from customers where Cname='+quotedstr(dblcb.Text);
end;
ADOQrycu.SQL.add(sqlcmd);
adoqrycu.Active:=true;
end;procedure TFromquery.rdgClick(Sender: TObject);
begin
ADOQrycondition.Close;
ADOQrycondition.SQL.Clear; case rdg.itemindex of
0:
begin
ADOQrycondition.sql.Add('select cid from customers');
dblcb.keyfield:='cid';
dblcb.listfield:='cid';
end;
1:
begin
ADOQrycondition.SQL.Add('select cprovince from customers');
dblcb.keyfield:='cprovince';
dblcb.listfield:='cprovince';
end;
2:
begin
ADOQrycondition.SQL.Add('select ccity from customers');
dblcb.keyfield:='ccity';
dblcb.listfield:='ccity';
end;
3:
begin
ADOQrycondition.SQL.add('select cname from customers');
dblcb.keyfield:='cname';
dblcb.listfield:='cname';
end;
end;
ADOQrycondition.active:=true;
我在程序中使用了radiogroup组件,但是在同一次测试中,我选择其中一个,可以用,但我选择下一个时就出现如下错误。错误信息为:检测到错误类EOleException,错误信息:‘多步操作产生错误。请检查每一步的状态值。’部分代码如下:
procedure TFromquery.dblcbClick(Sender: TObject);
var sqlcmd:string;
begin
ADOQrycu.Close;
ADOQrycu.SQL.Clear;
case rdg.ItemIndex of
0: sqlcmd:='select * from customers where Cid='+quotedstr(dblcb.Text);
1: sqlcmd:='select * from customers where Cprovince='+quotedstr(dblcb.Text);
2: sqlcmd:='select * from customers where Ccity='+quotedstr(dblcb.Text);
3: sqlcmd:='select * from customers where Cname='+quotedstr(dblcb.Text);
end;
ADOQrycu.SQL.add(sqlcmd);
adoqrycu.Active:=true;
end;procedure TFromquery.rdgClick(Sender: TObject);
begin
ADOQrycondition.Close;
ADOQrycondition.SQL.Clear; case rdg.itemindex of
0:
begin
ADOQrycondition.sql.Add('select cid from customers');
dblcb.keyfield:='cid';
dblcb.listfield:='cid';
end;
1:
begin
ADOQrycondition.SQL.Add('select cprovince from customers');
dblcb.keyfield:='cprovince';
dblcb.listfield:='cprovince';
end;
2:
begin
ADOQrycondition.SQL.Add('select ccity from customers');
dblcb.keyfield:='ccity';
dblcb.listfield:='ccity';
end;
3:
begin
ADOQrycondition.SQL.add('select cname from customers');
dblcb.keyfield:='cname';
dblcb.listfield:='cname';
end;
end;
ADOQrycondition.active:=true;
可能是你Sql语句有问题这样看看 sqlcmd:='select * from customers where Cname='''+quotedstr(dblcb.Text)+'''';
这样写,还是不行,一运行就出错误,因为quotestr()的返回类型是string型,
谢谢你!帮我想问题。
showmessage(adoquery1.sql.text);
不看一下SQL字串是不知道错误的,你用了这么多字串,还是全显示一下吧,有时候还要用到MEMO,当然,你在SQL或者ACCESS中执行过就不用这样做了