我要疯了。
我的问题是这样的:我用了一个datetimepicker控件来选择日期,想用datetimepicker1.date的日期值来检索数据库中TIME字段对应的记录,TIME字段为日期型,格式为:yyyy-mm-dd hh:mm:ss
据我观察,datetimepicker.date的格式也为:yyyy-mm-dd,SQL的查询语句我会,但我不知道怎样把这句插进query1.sql.add()里,我看书上的一大堆单引号,怎么也看不明白,到底是按照什么规则来写的?请各位看明白我问题的高手费费神,帮忙考虑个5分钟!thanks!

解决方案 »

  1.   

    query1.sql.text:='To_date('''+DateToStr(datetimepicker1.date)+''',''yyyy-mm-dd hh24:mi:ss'')';
      

  2.   

    用#39表示单引号
    TO_Date()函数(Oracle)
      

  3.   

    关注~!~!
    我也正遇到这个问题,如果解决了,请楼主将办法告诉我一下,谢谢!
    [email protected]
      

  4.   

    是什么数据库?
    Access要在日期前后加#;
    Sql Server无所谓;
    Oracle要用To_Date;
      

  5.   

    如delphi_xizhousheng(西周生)先生所言,'To_date('表示一段字符串,''+DateToStr(datetimepicker1.date)+'',两个"+"之间的是你要在字符串中加的部分,为什么要用''在加号前后,这可能是delphi调用sql语句的格式了……
      

  6.   

    直接用DateToStr转化很麻烦,建议先将datetimepicker1.date用FormatTime格式转化,变成如:
    ‘2003-07-27’也可以加上分秒等,这样就和使用普通的支付窜一样了
      我还没有得过分呢,你看能不能解决,请给点分,以资鼓励啊
      

  7.   

    樓上說得對,我是這樣用的:
    where date=:date1 //date1定義為string
    Params[0].AsString := FormatDateTime('yyyy-mm-dd 00:00:00',datetime1.DateTime);
      

  8.   

    DateToStr换一个datetimetostr试一试