如何过滤出当天的记录。 谢谢!
var
 tdatetime:string;adoQToday.SQL.Add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where dodatetime>='''+tdatetime+'''');行吗?

解决方案 »

  1.   

    adoQToday.SQL.Add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where dodatetime='''+tdatetime+'''');
      

  2.   

    少了一句
     tdatetime:= FormatDateTime('yyyy"-"mm"-"dd" ,now);
      

  3.   

    写错了。
     tdatetime:= FormatDateTime('yyyy"-"mm"-"dd"',now);
      

  4.   

    try it !
    adoQToday.SQL.Add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where dodatetime>='''+tdatetime+'''');//===
    Tdatetime:=datetostr(date);
    ...
    adoQToday.SQL.Add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where convert(varchar(10),dodatetime)=+'''+tdatetime+'''');
      

  5.   

    tdatetime:= FormatDateTime('yyyy-mm-dd',now);
    adoQToday.SQL.Add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where dodatetime='+''''+tdatetime+'''');
      

  6.   

    dodatetime>='''+tdatetime+'''')z怎么写我没有试不过上面的都有一个问题。
    //伪码:
    //假如今天2004-11-17
    where dodatetime>=2004-11-16 00:00:00 and dodatetime<=2004-11-17 23:59:59这样才能查出来。具体的,你自己写吧。
      

  7.   

    同意楼上的说法如果你用的是 access数据库 在日期两边加# sql server2000就用单引号不过在delphi中 ‘select * from XX where date >= #2004-11-17 16:53:00#’ :  会出现问题应该用‘select * from XX where date >= #2004-11-17 16::53::00#’
      

  8.   

    var yy,mm,dd:word
    decodedate(now,yy,mm,dd);
    ..
    adoQToday.SQL.Add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where dodatetime>=:date')
    adoQToday.parametres.parambyname('date').asdatetime:=Encodedate(yy,mm,dd)+Encodetime(0,0,0,0);
    open
    ...
      

  9.   

    zzlazio的编译就通不过。
    我使用是ACCESS的数据库。
    用这个方法:
    tdatetime:= FormatDateTime('yyyy-mm-dd',now);
    adoQToday.SQL.Add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where dodatetime='+''''+tdatetime+'''');
    提示类型不符。
    我的要求就是过滤出当天的记录。 谢谢。
      

  10.   

    adoquery.sql.add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where [dodatetime]=#'+FormatDateTime('yyyy-mm-dd',now)+'#');
      

  11.   

    我在ACCESS中,我想把当天的记录过滤出来这个语句怎么写?要求是 XXXX-XX-XX 00:00:00 到 23:XXXX-XX-XX 59:59之间的
      

  12.   

    我没在ACCESS上试过我那办法 ..
    但是在SQL SERVER上是绝对可以的..
      

  13.   

    adoQToday.SQL.Add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where dodatetime=:RQ');
    adoQToday.Parameters[0].datatype:=ftDateTime;
    adoQToday.Parameters[0].value:=Date;
    adoQToday.Prepared:=True;
    adoQToday.Open;
      

  14.   

    adoQToday1.SQL.Add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts');
    if (strtodatetime(adoquery1.FieldValues['dodatetime'])=strtodatetime(formatdatetime('yyyy-m-d',now))) then
    begin
    //....
    end;
      

  15.   

    adoQToday.SQL.Add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where dodatetime>=' + tdatetime );
      

  16.   

    adoquery.sql.add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where [dodatetime] between #'+FormatDateTime('yyyy-mm-dd',now)+'00:00:00'+'# and #'+FormatDateTime('yyyy-mm-dd',now)+' 23:59:59#');
      

  17.   

    >>如何过滤出当天的记录。 谢谢!
    >>var
    >> tdatetime:string;>>adoQToday.SQL.Add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts >>where dodatetime>='''+tdatetime+'''');你最好表“accounts”的字段“dodatetime”保存的值最好是“yyyy-mm-dd"的 
       如:”2004-11-18“
    然后你SQL可写成
    select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where dodatetime=FormatDateTime('yyyy-mm-dd',now)
    试试,看行不行
      

  18.   

    jiaai(逍遥游)
    adoquery.sql.add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where [dodatetime] between #'+FormatDateTime('yyyy-mm-dd',now)+'00:00:00'+'# and #'+FormatDateTime('yyyy-mm-dd',now)+' 23:59:59#');
    它运行时提示不正常定义的参数对象。psp2003()
    我需要准确的时间。这个字段不能改! 谢谢大家了!
      

  19.   

    有时候是解释器解释不了,你这样试一下tdatetime:= FormatDateTime('yyyy-mm-dd',now);
    tmpSql:='select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where dodatetime='+''''+tdatetime+'''';
    adoQToday.SQL.Add(tmpSql);
      

  20.   

    个人感觉象jiaai(逍遥游)这样的方法好点。但是运行时提示错误!有人能解决吗?谢谢了!
    adoquery.sql.add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where [dodatetime] between #'+FormatDateTime('yyyy-mm-dd',now)+'00:00:00'+'# and #'+FormatDateTime('yyyy-mm-dd',now)+' 23:59:59#');
    它运行时提示不正常定义的参数对象。
      

  21.   

    这样就可以了:adoQToday.SQL.Add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where dodatetime between '''+tdatetime+''' and '''+tdatetime +1+'''');试试看
      

  22.   

    如何加上时间的限制 adoquery.sql.add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where [dodatetime] between #'+FormatDateTime('yyyy-mm-dd',now)+'00:00:00'+'# and #'+FormatDateTime('yyyy-mm-dd',now)+' 23:59:59#');
     有错谁帮我改改。谢谢了。
      

  23.   

    adoquery.sql.add('select rdn,inkind,cash,dodatetime,indatetime,opemp from accounts where [dodatetime] = Getdate() ');