数据库是SQL SERVER 2000
在DELPHI6中用ADOQUERY,程序代码如下:
    sql.Add('select count(*),max(cj),min(cj),avg(cj)');
    sql.Add(' from a');
    sql.Add(' where a.tdyydm=' '');
程序运行出错:Project Project1.exe raised exception class EoleException with message'字符串' '之前有未闭合的引号。'
若将代码改为:sql.Add(' where a.tdyydm is null');可查询结果又不正确。在表结构中tdyydm的类型是varchar(2)。
请专家帮忙!谢谢!

解决方案 »

  1.   

    在DELPHI6中用ADOQUERY,程序代码如下:
        sql.Add('select count(*),max(cj),min(cj),avg(cj)');
        sql.Add(' from a');
        sql.Add(' where a.tdyydm='+#39+' '+#39);
      

  2.   

    sql.Add('select count(*),max(cj),min(cj),avg(cj)');
        sql.Add(' from a');
        sql.Add(' where a.tdyydm='''');
      

  3.   

    上面错了,应该是
    sql.Add('select count(*),max(cj),min(cj),avg(cj)');
        sql.Add(' from a');
        sql.Add(' where a.tdyydm=''''+'''');
      

  4.   

    受不了了,怎么总是自动发送〉??还没写完就!·¥·#¥·#sql.Add('select count(*),max(cj),min(cj),avg(cj)');
        sql.Add(' from a');
        sql.Add(' where a.tdyydm='+''''+'''');
      

  5.   

    sql.Add('select count(*),max(cj),min(cj),avg(cj)');
        sql.Add(' from a');
        sql.Add(' where a.tdyydm='''' ');//delphi 中引号的使用要注意
      

  6.   

    不知道你要查询什么样的条件>是空格还是空值!!是空值就用IS NULL
      

  7.   

    sql.Add('select count(*),max(cj),min(cj),avg(cj)');
        sql.Add(' from a');
        sql.Add(' where a.tdyydm='+' ');
      

  8.   

    sql.Add('select count(*),max(cj),min(cj),avg(cj)');
        sql.Add(' from a');
        sql.Add(' where a.tdyydm='' '+'''');
      

  9.   

    sql.Add('select count(*),max(cj),min(cj),avg(cj)');
        sql.Add(' from a');
        sql.Add(' where a.tdyydm='' '+'''');
      

  10.   

    在delphi中,单引号之间如果还要有单引号的话,就用两个单引号来表示一个单引号。