一个奇怪的查询问题 ( 积分: 50 )

  • 主题发起人 主题发起人 ntjrr
  • 开始时间 开始时间
N

ntjrr

Unregistered / Unconfirmed
GUEST, unregistred user!
ADOQuery1.Close;<br>&nbsp;&nbsp;&nbsp;ADOQuery1.SQL.Clear;<br>&nbsp;&nbsp;&nbsp;ADOQuery1.SQL.Add('select&nbsp;功能号,功能名&nbsp;from&nbsp;a');<br>&nbsp;&nbsp;&nbsp;ADOQuery1.SQL.Add('where&nbsp;功能号&nbsp;not&nbsp;in&nbsp;(select&nbsp;功能号&nbsp;from&nbsp;b&nbsp;where&nbsp;用户名=:帐号)');<br>&nbsp;&nbsp;&nbsp;ADOQuery1.Parameters.ParamByName('帐号').Value:=ComboBox1.Text;<br>&nbsp;&nbsp;&nbsp;ADOQuery1.Open;<br>ComboBox1.Text中是数字或英文则查询正确,是中文则查询错误。<br>比如admin,他已经有所有的功能了,那么查询出来的结查是空的,但张三如果也有所有功能了,他查询出来的确不是空的结果,还是所有功能的记录。<br>光光执行子查询select&nbsp;功能号&nbsp;from&nbsp;b&nbsp;where&nbsp;用户名=:帐号)');<br>,随便中文或英文又是对的
 
就用这个吧:<br>ADOQuery1.Close;<br>&nbsp;&nbsp;&nbsp;ADOQuery1.SQL.Clear;<br>&nbsp;&nbsp;&nbsp;ADOQuery1.SQL.Add('select&nbsp;功能号,功能名&nbsp;from&nbsp;a');<br>&nbsp;&nbsp;&nbsp;ADOQuery1.SQL.Add('where&nbsp;功能号&nbsp;not&nbsp;in&nbsp;(select&nbsp;功能号&nbsp;from&nbsp;b&nbsp;where&nbsp;用户名='''+combobox1.txt+''')');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ADOQuery1.Open;
 
我今天用这种方式也出现错误~~也不知道那么出错了~<br>后来改用楼上的~~<br>运行正确~
 
描述不清楚啊!<br>英文:&nbsp;admin&nbsp;&nbsp;已经有所有的功能&nbsp;&nbsp;查出来应为空&nbsp;&nbsp;(对的)<br>中文:&nbsp;张三&nbsp;&nbsp;&nbsp;已经有所有的功能&nbsp;&nbsp;结果是什么?说清楚<br>还有你确定张三已经有所有的功能了吗?
 
后退
顶部