一个用access数据库写的程序,在2000下用一切正常,以下是一段根据日期范围内查询数据的代码,在2000下可以查到该记录,但是在98下运行这个程序无法查到此记录,真是怪事!!!如果把时间范围的语句去掉,98下就可以查到,真怪了,难道98下不认识时间查询语句或是另有格式?各位大狭,请救命啊!!!
begin
 with dm1.ADOQuery1 do
   begin
    sql.Clear;
    sql.Add('select hxdh,fph,hwzj,shcs,shbb,jhje,kf,jhrq,hxce from zj where hxdh=');
    sql.Add(''''+trim(rzedit1.Text)+''''+' and jhrq between');
    SQL.Add('#'+datetostr(form5.RzDateTimePicker1.Date)+'#'+' and '+'#'+datetostr(form5.RzDateTimePicker2.Date)+'#'+' order by hxdh');
    dm1.ADOQuery1.Open;
   end;

解决方案 »

  1.   

    兄弟是从转过来的吧begin
     with dm1.ADOQuery1 do
       begin
        sql.Clear;
        sql.Add('select hxdh,fph,hwzj,shcs,shbb,jhje,kf,jhrq,hxce from zj where hxdh=');
        sql.Add(''''+trim(rzedit1.Text)+''''+' and jhrq between');
        SQL.Add(''''+datetostr(form5.RzDateTimePicker1.Date)+''''+' and '+''''+datetostr(form5.RzDateTimePicker2.Date)+''''+' order by hxdh');
        dm1.ADOQuery1.Open;
       end;
      

  2.   

    是的,用这个吧
    with dm1.ADOQuery1 do
       begin
        sql.Clear;
        sql.Add('select hxdh,fph,hwzj,shcs,shbb,jhje,kf,jhrq,hxce from zj where hxdh=');
        sql.Add(''''+trim(rzedit1.Text)+''''+' and jhrq between :staDate and :EndDate order by hxdh');
        Paramters{0}.asdatetime:=form5.RzDateTimePicker1.Date;
        Paramters{1}.asdatetime:=form5.RzDateTimePicker2.Date;
        dm1.ADOQuery1.Open;
       end;
      

  3.   

    请在控制面板的那个区域属性中设置一下时间的格式..不然会出现什么ADDRESS出错之类的信息...