select Name from FacBasicInfo,DeptList
where (DeptName = '''+DBLookupComboBox1.Text+''' and DeptList.DeptID = FacBasicInfo.DeptID)我就是不知道如何把DBLookupComboBox1.Text的内容给DeptName了。该写几个逗号啊?谢谢啦:)

解决方案 »

  1.   

    逗号含义解释:在DELPHI要在字符串里面标识单引号',要用转义字符'
    即''的前一个单引号是转义字符,而后一个就是所要标识的单引号。这下明白了吧。
      

  2.   

    还有一个笨方法,可以知道自己的语句是否正确
    例如:
    tmpstr:=select Name from FacBasicInfo;
    showmessage(tmpstr);
    运行程序以后,仔细看语句要加单引号的地方,如果哪里少了或者多了,就回来修改。
    多改几次就明白了。结合我上面说的方法,一定很快弄明白
      

  3.   

    还可以利用sql monitor 来观察你的sql语句。另外同意狐狸的意见。
      

  4.   

    应该标明Name是那个表里的Name,即要在Name前加上前缀。
      

  5.   

    adoquery1.sql.add('select Name from FacBasicInfo,DeptList');
    adoquery1.sql.add('where DeptName = '''+DBLookupComboBox1.Text+''''); adoquery1.sql.add('and DeptList.DeptID = FacBasicInfo.DeptID');
    为了你我不后悔做任何事!!!!
      

  6.   

    DeptName 这是哪个表的字段???
    如不行就在前面加上表名!!!  禾口禾口
      

  7.   

    tempsqlstring:=
    'select Name from FacBasicInfo,DeptList '
    +'where (DeptName = '''+DBLookupComboBox1.Text+''' and DeptList.DeptID = FacBasicInfo.DeptID)';