为什么在sql explorer里面可以执行的sql语句在delphi里面不可以执行呢!语句是这样的阿:
select 来源,反应人名,接待人,count(序号) from fanying.db where 反应日期>="'+edit1.Text+'" and 反应日期<="'+edit2.Text+'" group by 来源,反应人名,接待人两个edit控件里面的日期格式是dd/mm/yyyy,同样我这样的一个语句
select 来源,反应人名,接待人,count(序号) from fanying.db where 反应日期>="01/01/1998" and 反应日期<="01/01/2003" group by 来源,反应人名,接待人
在sql explorer里面却可以执行的,但是在delphi里面却运行报错!
说什么 invalid field name 01/01/1998
大家帮帮忙阿!!

解决方案 »

  1.   

    把双引号换为两个单引号select 来源,反应人名,接待人,count(序号) from fanying.db where 反应日期>='''+edit1.Text+''' and 反应日期<='''+edit2.Text+''' group by 来源,反应人名,接待人
      

  2.   

    这些莫名其妙的问题我也经常遇到,我的一般处理方法是先重起一下delphi,然后看一下数据库表的类型是否正确,再就是是否在数据库控件中有什么互相冲突,遗漏的地方,会发现还是自己某些地方没有考虑到的
      

  3.   

    zleeway(杂草) 你的方法绝对正确,厉害,那么delphi的query控件的里面的sql.text属性所要填写的语句有什么限制呢?,和那个一般的sql语句有什么区别呢!!
      

  4.   

    单引号问题,DELPHI中如果你要加一个单引号  那么就用两个单引号,这样'select 来源,反应人名,接待人,count(序号) from fanying.db where 反应日期'>='''+'01/01/1998'''+' and 反应日期<='''+'01/01/2003'''+' group by 来源,反应人名,接待人'
      

  5.   

    在Query中最好使用ANSI标准的SQL。SQL语句的ANSI标准中字符串要用['] 单引号但在SQLServer 中就无所谓了,可以是Transact SQL或 ANSI SQL
      

  6.   

    Delphi 中与 SQL 中都是 用'单引号来表示字符串,
      

  7.   

    用#39试试吧!
    select 来源,反应人名,接待人,count(序号) from fanying.db where 反应日期>='+#39+edit1.Text++#39+' and 反应日期<='+#39+edit2.Text+#39 group by 来源,反应人名,接待人
      

  8.   

    反应日期>="'+edit1.Text+'" and 反应日期<="'+edit2.Text+'" 
    1。数据类型对不上!
    2。如果都是STRING型的话应该这样写:'select 来源,反应人名,接待人,count(序号) from fanying.db where 反应日期>='+''''+edit1.Text+''''+'and 反应日期<="'+edit2.Text+'" group by 来源,反应人名,接待人'
      

  9.   

    上面大家写了一大通我也看不清楚,提个建议:如果要给字符串加 ' 号,用函数 QuotedStr();省得在程序中 ''' ''' 的看得眼花。