adoquery1.SQL.Add('and name<>"暂空"');
单引号里包含双引号,运行查询时提示invalid column'暂空'为什么? 我使用query空件时可以.

解决方案 »

  1.   

    参考一下
          DM.ADOCBase.Close;
          Dm.ADOCBase.SQL.Clear;
          DM.ADOCBase.SQL.Add('select * from CBase where BClass like ''%共站%''');
          DM.ADOCBase.Open;
      

  2.   

    SQL 和 Delphi 都只以单引号来区分字符串
      

  3.   

    adoquery1.SQL.Add('and name<>''暂空''');
      

  4.   

    写成这样看怎么样:
    adoquery1.SQL.Add('and name<>'+#39+'暂空'+#39);
      

  5.   

    还是这样吧: adoquery1.SQL.Add('and name<>''暂空''');
      

  6.   

    哈哈我自己解决了这个问题,我在程序里面写SQL不行在ADOQUERY得SQL编辑器里面直接写不行,我得SQL语句是没问题得在数据库上直接操作都成功,我最后是在ADOQUERY得SQL编辑器里面不是有CODER EDIT 中写再运行没问题,这可能是我们直接写得‘和DELPHI中得’有细微得不通你可以仔细看看你直接写得‘和通过CODER EDIT写得’是有区别得。
      

  7.   

    adoquery1.SQL.Add('and name <> '+''''+'暂空'+'''');
      

  8.   

    with adoquery1 do
      begin
        close;
        sql.clear;
        ....
        sql.add('and name <>'+''''+'暂空'+'''');
        ....
      end;
      

  9.   

    adoquery1.SQL.Add('and name<>''暂空''');
      

  10.   

    adoquery1.SQL.Add('and name<>'+QuoteChar('暂空'))