请问,用DateTimePicker控件选择一个时间(2004-04-15),用AdoQuery控件的SQL语句怎样查找SQL2000数据库中,对应时间(2004-04-15)的数据。表名:User_Charge 时间字段:Pdate 最好写详细步骤和帮助shuoming,谢谢!

解决方案 »

  1.   

    'select * from User_charge where pdate'+#39+ datetostr(datetimepicker.date)+#39
      

  2.   

    var
    searstr:string;
    begin
    searstr:='select * from User_charge where pdate between '''+DateToStr(DateTimePicker1.Date)+''' and '''+DatetoStr(DateTimePicker1.Date+1)+'''';
    AdoQuery1.close;
    AdoQuery1.sql.clear;
    AdoQuery1.sql.add(SearStr);
    AdoQuery1.open;
    end;
      

  3.   

    'select * from User_Charge where convert(char(10),Pdate,120)='''+datetostr(DateTimePicker1.Date)+''''
      

  4.   

    with adoquery do
    begin
      close;
      sql.text := 'select * from User_charge where pdate = ' + QuotedStr(datetostr(DateTimePicker1.Date));
      open;
    end;
      

  5.   

    var
      dd: tdatetime;
    begin
      dd := strtodate(  datetostr(DateTimePicker.date));with adoquery do
    begin
      close;
      sql.clear;
      sql.text := 'select * from user_charge where pdate = ' + dd ;
      open;
    end;end;
      

  6.   

    你好,wywry(Wyatt)!我试了你写的程序,在我选择了一个时间,进行查找,可是没有记录显示在DBGrid控件上,请帮我解决一下,谢谢!我写的代码如下:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      with AdoQuery1 do
      begin
      ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('Select * from User_Charge');
      ADOQuery1.SQL.Add('where Pdate between '''+Datetostr(datetimePicker1.Date)+'''  and '''+(datetostr(datetimepicker1.Date+1))+'''');
      ADOQuery1.Open;
      ADOQuery1.First;
    end;//with
      

  7.   

    dataform.Qout_thing.SQL.Add('select * from User_Charge where Pdate between #'+datetostr(datetimepicker1.Date)+'# and #'+datetostr(datetimepicker2.Date)+'# order by id');
      

  8.   

    procedure TForm1.Button1Click(Sender: TObject);
    Var
      tmpDate : TDateTime ;
    begin
      tmpDate := dateTimePicker1.Date ;
      with AdoQuery1 do
      begin
      ADOQuery1.Close;
      ADOQuery1.SQL.Text :='Select * from User_Charge where Pdate  between '''+Datetostr(tmpDate)+'''  and '''+(datetostr(tmpDate+1))+'''');
      ADOQuery1.Open;
      end;//with
    end ;
      

  9.   

    TO搂主:
    SQL 的后端日期有可能含有时间信息,如2004-07-13 01:03:05:08
    看看是否是这个原因导致选不出数据.
    你可以把你的SQL语句在查询分析器中执行一下,查出具体原因来.