你可以这样写
select * from A.DBF where 出库日期>Datetimepicker1.datetime 
就可以了

解决方案 »

  1.   

    在query中可以这样写sql.text('select * from a.dbf where convert(char(10),出库日期,120) bwteen 
    '''+formatdatetime('yyyy-mm-dd',Datetimepicker1.date)+''' and '''
    +formatdatetime('yyyy-mm-dd',Datetimepicker2.date)
    )
    Datetimepicker1.date 开始时间
    Datetimepicker2.date 结束时间  查询的是在两日期范围内的出有记录
      

  2.   

    有点错误改正
    sql.text('select * from a.dbf where convert(char(10),出库日期,120) bwteen 
    '''+formatdatetime('yyyy-mm-dd',Datetimepicker1.date)+''' and '''
    +formatdatetime('yyyy-mm-dd',Datetimepicker2.date)+'''')
      

  3.   

    sql.clear;
    sql.add('select * from a.dbf where convert(char(10),出库日期,120) bwteen d1: and d2:);
    query1.parambyname('d1'):=Datetimepicker1.date;
    query1.parambyname('d2'):=Datetimepicker2.date;
      

  4.   

    sql.clear;
    sql.add('select * from a.dbf where convert(char(10),出库日期,120) bwteen d1: and d2:);
    query1.parambyname('d1'):=Datetimepicker1.date;
    query1.parambyname('d2'):=Datetimepicker2.date;
      

  5.   

    〔 lxzjp(烟海) 〕好象不行啊
      

  6.   

    datetimepicker1 起始时间
    datetimepicker2 结束时间
    ls_sql:string;ls_sql:='';
    ls_sql:='select * from A where A,time>=to_date('+chr(39)+datetimepicker1+chr(39)+',''yyyy-mm-dd'') ';
    ls_sql:=ls_sql+' and A.time<=to_date('+chr(39)+datetimepicker2+chr(39)+',''yyyy-mm-dd'')';
    with query1 do
    begin
    close;
    Sql.clear;
    Sql.add(ls_sql);
    prepare;
    open;
    end;
      

  7.   

    我照 netlib(河外孤星)的方法试了试,系统老是提示query1:parameter 'd1'not found
    是不是在query控件中的属性还要进行其他设置啊??????
      

  8.   

    'select * from a.dbf where convert(char(10),出库日期,120) bwteen d1: and d2:);
    应该是 :d1 and :d2,冒号在前
      

  9.   

    With Query1 do 
    begin
         Close;
         SQL.Clear;
         SQL.Add('Select * From a.dbf ');
         SQL.Add('Where 出库日期 Between :StartDate and :EndDate');
         ParamByName('StartDate').asDateTime:=DateTimePicker1.DateTime;
         ParamByName('EndDate').asDateTime:=DateTimePicker2.DateTime;
         Open;
    end;
      

  10.   

    注意oracle的日期格式和你本地的日期格式是否相同,如不同的话,统一一下日期格式
      

  11.   

    我在Sql Server 2000的联机帮助中看到《编写国际化 Transact-SQL 语句》这篇文章,觉得很有用,其中提到数据库中的日期时间问题。下面是我在delphi中的尝试:
    先写一个函数:
    function CreateGlobalTSQLString(ADateTime: TDateTime): string;
    var
      strDestDateTime: string;
    begin
      strDestDateTime := FormatDateTime('yyyy-mm-dd hh:mm:ss.zzz', ADateTime);
      Result := 'CONVERT(DATETIME,''' + strDestDateTime + ''',20)';
    end;然后在生成sql语句时这样写:
    ADODataSet1.CommandText := 'SELECT * FROM 订单 WHERE 订购日期 BETWEEN '+
      CreateGlobalTSQLString(DateTimePicker1.Date) + ' AND ' +
      CreateGlobalTSQLString(DateTimePicker2.Date) + ' ORDER BY 订购日期';这样就不用考虑DateTimePicker的日期格式和库中日期字段的格式的不同了。实际上这样处理就是告诉sql server我给你传进去的日期是什么格式的,剩下的事就是sql server的事了。我只在sql server 2000上测试通过。有兴趣的朋友可以试试其它的数据库。
      

  12.   

    With Query1 do 
    begin
         Close;
         SQL.Clear;
         SQL.Add('Select * From A');
         SQL.Add('Where 出库日期 between :StartDate and :EndDate');
         ParamByName('StartDate').asDateTime:=Datetimepicker1.dateTime;
         ParamByName('EndDate').asDateTime:=Datetimepicker2.dateTime;
         Open;
    end;