delphi 中使用adoquery做子查询得不到结果

qq_42033603 2018-12-08 11:00:24
我在SQL server中能正常查出来结果,但是在Delphi这边就查不出结果,也没报错,感觉是因为用了子查询的原因,TB_readertype和 TB_reader是同一数据库中的两张表,希望哪位大神救救命啊
sql:='select *from TB_reader where rdtype =(select rdtype from TB_readertype where rdtypename=:rdtypename) and rddept =:rddept';
ADOQuery1.SQL.Add(sql);
ADOQuery1.Parameters.ParamByName('rdtypename').DataType:=ftstring;
ADOQuery1.Parameters.ParamByName('rdtypename').Value:=trim(Combo_rdtypename1.Text);
ADOQuery1.Parameters.ParamByName('rddept').DataType:=ftString;
ADOQuery1.Parameters.ParamByName('rddept').Value:=trim(Combo_rdDept1.Text);
ADOQuery1.open;
...全文
95 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_42033603 2018-12-09
  • 打赏
  • 举报
回复
引用 2 楼 lyhoo163 的回复:
rdtype是字段名,定义一个rdtype的值:
var S:string;
S:='AAA'; // 这是你指定值

select * from TB_reader where rdtype =(select rdtype from TB_readertype where rdtypename='+#39+S+#39+')

试试!

谢谢,十分感谢,按照您的方法真的解决了我的问题
lyhoo163 2018-12-09
  • 打赏
  • 举报
回复
rdtype是字段名,定义一个rdtype的值:
var S:string;
S:='AAA'; // 这是你指定值

select * from TB_reader where rdtype =(select rdtype from TB_readertype where rdtypename='+#39+S+#39+')

试试!
qq_42033603 2018-12-08
  • 打赏
  • 举报
回复
救救孩子啊