select * from tsyslog where to_char(logtime,'yyyy-mm-dd')='2007-01-01'                                
上面一句在PLSQL里完全是正确的.但是把上面这一句直接写到sql.text也可以通过.
为什么下面这句在DELPHI里编绎时就不行了.   
adoquery1.sql.add('select * from tsyslog where to_char(logtime,'yyyy-mm-dd')='''+dbt1.edittext+'''');//dbt1.edittext这是日期控件的日期值
请各位大哥指点一下

解决方案 »

  1.   

    adoquery1.sql.add( 'select   *   from   tsyslog   where   to_char(logtime, ''yyyy-mm-dd'')= '''+dbt1.edittext+'''')
      

  2.   


    adoquery1.sql.text:='select * from tsyslog where to_char(logtime,''yyyy-mm-dd'')=:logtime';
    adoquery1.Parameters.ParamByName('logtime').Value:=dbt1.edittext;
    adoquery1.Open;
      

  3.   

    //dbt1.edittext这是日期控件的日期值 
    日期和字符串是不兼容的
      

  4.   

    转换一下格式试试,
    adoquery1.sql.add( 'select   *   from   tsyslog   where   to_char(logtime, 'yyyy-mm-dd ') LIKE ' ' '+datetostr(dbt1.edittext)+ '% ' ' ');