我要在一个表中查询日期小于或等于某个日期的记录,在查询分析器中执行可以,但通过DELPHI中的ADORUERY执行的时候却查询不到,表中的日期是TDateTime型的,其赋值语句为: FieldByName('rq').AsDateTime := DateOf(self.ADO_CKDXXSR.FieldByName('日期').AsDateTime)+ Timeof(self.GetCurrServerTime);时间取得是当前服务器的时间,查询条件为:sql.Add('where CK_MXZ.rq  <='''+Tj_Date+'''');Tj_Date :=FormatDateTime('yyyy/mm/dd hh:nn:sss',GetCurrServerTime);GetCurrServerTime为一函数,返回类型为TDateTime;

解决方案 »

  1.   

    access中日期类型不用加'号,SQL中要加
      

  2.   

    FormatDateTime('yyyy-mm-dd hh:nn:ss',GetCurrServerTime);
      

  3.   

    FormatDateTime('yyyy-mm-dd hh:nn:ss',GetCurrServerTime);
    要不用<=或>=条件来解决日期查询问题
      

  4.   

    对于你的时期查询语句来说!我建议你在写这类的语句时在SQL SERVER里试一下。你的这个方法有没有问题! 多点测试的方法和想法,这是编程以外解决问题的一般方法, 
    这些都是和大师学的,很有用的。
      

  5.   

    我把Tj_Date换成时间在查询分析器中是可以有查询出结果的啊!可是在程序中就是不行啊!我在程序中SHOW出的SQL语句与查询分析器中仔细对比了一下,没有发现两样,可是就是没有结果,气坏我了,请你们多多指教!!!!