
求解:各位大神:delphi7中运用adoquery查询语句,怎么总是出现语法错误?代码如下:
procedureTForm14.Button2Click(Sender:TObject);beginclose;end;procedureTForm14.Button1...
procedure TForm14.Button2Click(Sender: TObject);beginclose;end;
procedure TForm14.Button1Click(Sender: TObject);vari:integer;str1,str2,str3,sqlstr:string;beginstr2:='';for i:=0 to GroupBox1.ControlCount-1 do begin if GroupBox1.Controls[i] is TCheckBox then begin if TCheckBox(GroupBox1.Controls[i]).Checked then begin str1:=str1+TCheckBox(GroupBox1.Controls[i]).Caption; end; end; if str1<>str2 then begin str1:=str1+','; str2:=str1; end; end; str3:=copy(str1,1,length(str1)-1); sqlstr:='select * from 书籍信息维护 where ('+str3+') in (select '+str3+' from 书籍信息维护 group by '+str3+' having count(*)>1)'; form10.adoquery1.SQL.Clear; form10.adoquery1.SQL.Add(sqlstr); form10.adoquery1.open; form13.Hide;end;
end.
当我在checkbox中选择两个属性的时候。就会出现这种状况!求解! 展开
procedure TForm14.Button1Click(Sender: TObject);vari:integer;str1,str2,str3,sqlstr:string;beginstr2:='';for i:=0 to GroupBox1.ControlCount-1 do begin if GroupBox1.Controls[i] is TCheckBox then begin if TCheckBox(GroupBox1.Controls[i]).Checked then begin str1:=str1+TCheckBox(GroupBox1.Controls[i]).Caption; end; end; if str1<>str2 then begin str1:=str1+','; str2:=str1; end; end; str3:=copy(str1,1,length(str1)-1); sqlstr:='select * from 书籍信息维护 where ('+str3+') in (select '+str3+' from 书籍信息维护 group by '+str3+' having count(*)>1)'; form10.adoquery1.SQL.Clear; form10.adoquery1.SQL.Add(sqlstr); form10.adoquery1.open; form13.Hide;end;
end.
当我在checkbox中选择两个属性的时候。就会出现这种状况!求解! 展开
1个回答
展开全部
你把这句sqlstr:='select * from 书籍信息维护 where ('+str3+') in (select '+str3+' from 书籍信息维护 group by '+str3+' having count(*)>1)';打印出来,手动到数据库执行一下
更多追问追答
追问
还是不行啊!还是这个问题!
追答
既然手动不行,哪儿的问题不很明了了吗!!!!,把打印出的语句贴出来看看

2023-12-06 广告
网易云信提供一站式的 1 对 1 UIKit 组件库,可以更快地搭建 1 对 1 社交平台,能够快速实现音视频呼叫、音视频通话、1对1消息发送、美颜和礼物功能,直接可以复用我们的组件源码就可以了。优势:1、全套1对1 UI组件,接入更快;2...
点击进入详情页
本回答由网易云信提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询