...where 日期 between '2002-9-2' and '2003-5-8

解决方案 »

  1.   

    select * form tablename where date between #2002-9-2# and #2003-5-8#date必须是你自己记录时间的变量
      

  2.   

    ...where 日期 between '2002-9-2' and '2003-5-8'
      

  3.   

    ...where 日期 between '2002-9-2' and '2003-5-8'
      

  4.   

    哪位兄台帮我改改,我这样不行的啊
     with datamodule2.Query_inventory do
            begin
                databasename:='case';
                close;
                sql.Clear;
                sql.Add('select * from collect where date between #'''+datetostr(dtp_start.Date)+'''# and #'''+datetostr(dtp_stop.Date)+'''#');
                prepare;
                open;
            end;
      

  5.   

    with datamodule2.Query_inventory do
            begin
                databasename:='case';
                close;
                sql.Clear;
                sql.Add('select * from collect where date between :date1 and :date2);
                prepare;
                params[0].asdatetime := dtp_start.date;
                params[1].asdatetime := dtp_stop.date;
                open;
            end;
      

  6.   

    ...
    sql.Add('select * from collect where date between to_date('''+datetostr(dtp_start.Date)+''','yyyy-mm-dd') and to_date('''+datetostr(dtp_stop.Date)+''','yyyy-mm-dd)')';
    ...
      

  7.   

    with datamodule2.Query_inventory do
            begin
                databasename:='case';
                close;
                sql.Clear;
                sql.Add('select * from collect where date between :date1 and :date2);
                prepare;
                params[0].asdatetime := dtp_start.date;
                params[1].asdatetime := dtp_stop.date;
                open;
            end;
      

  8.   

    with datamodule2.Query_inventory do
            begin
                databasename:='case';
                close;
                sql.Clear;
                sql.Add('select * from collect where date between #'+datetostr(dtp_start.Date)+'# and #'+datetostr(dtp_stop.Date)+'#');
                prepare;
                open;
            end;
    ==============================
    你的问题是多了几个单引号,##之间的不是字符串就行用参数当然可以,但是直接写sql语句的话,可移植性就强很多
      

  9.   

    with datamodule2.Query_inventory do
            begin
                databasename:='case';
                close;
                sql.Clear;
                sql.Add('select * from collect where date between #'''+Fromatdatetime('m"/"d"/"yyyy,dtp_start.Date)+'''# and #'''+Fromatdatetime('m"/"d"/"yyyy,dtp_stop.Date)+'''#');
                prepare;
                open;
            end;
      

  10.   

    我照 gxyc76(dd)的方法,还是不行啊,怎么办啊
      

  11.   

    我用的是SQLSERVER2000数据库!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      

  12.   

    如果你是用的datetime类型来记录日期的,那么where 日期 between '2002-9-2' and '2003-5-8可以,我测试成功!
      

  13.   

    with datamodule2.Query_inventory do
      begin
        databasename:='case';
        close;
        sql.Clear;
        sql.Add('select * from collect where date between :StartDate and :EndDate')
        ParamByName('StartDate').Value:=datetostr(dtp_start.Date);
        ParamByName('EndDate').Value:=datetostr(dtp_stop.Date);
        prepare;
        open;
      end;
      

  14.   

    with datamodule2.Query_inventory do
            begin
                databasename:='case';
                close;
                sql.Clear;
                sql.Add('select * from collect where date between :date1 and :date2);
                prepare;
                params[0].value := formatdatetime('yyyy-mm-dd',dtp_start.date);
                params[1].value := formatdatetime('yyyy-mm-dd',dtp_stop.date);
                open;
            end;