adoquery2.SQL.Text:='select 权限名称 from 权限清单 where 用户编号=(select 用户编号 from 用户清单 where 用户名='''+combobox1.Text+''')';
  是不是有语法错误啊`  大家给我看看!

解决方案 »

  1.   

    如果后面的select查询出来是个单值的话 则是正确的
    如果查询出来是多值的话 那就是错误的 
    最好把=号 改成 in 这样就没问题了
      

  2.   

    语法上是没什么问题的,但是如果后面的语句返回一个多条记录的数据集的话,那就会出错了.所以你应该对后面SQL大功率句做一下处理,让他确保只返回一个记录.
      

  3.   

    谢谢楼上的提醒啊`
    我的后面的select 查出来的是单值
     还有程序能够执行 就是运行后~我用的时候就`出现 '权限清单'附近有语法错误
      

  4.   

    权限清单的表先确定存在
    最好先把你的SQL语句放到数据库里执行一下 
    如果可以就不是语句的问题了
    那就是你的程序有问题了
      

  5.   

    换成连接的:adoquery2.SQL.Text:='select 权限名称 from 权限清单,用户清单'
    +'where 用户清单.用户编号=权限清单.用户编号 and 用户清单.用户名'
    +'='''+combobox1.Text+'''';如果你分两行写,用+号连接起来...试试..