请高手帮我指导一下了,帮我实现一个功能!!谢谢!!
就是关于一个查询的,我想一个时间段字段SJ 
用两个 DateTimePicker1,DateTimePicker2 意思是从个 DateTimePicker到DateTimePicker2 之间的时间段查询
我写了一个程序就是这样,大概思路
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select * from username where between sj='+DateTimePicker1.date+'and sj='+DateTimePicker2.date) //我这个只要不会写,帮我看看;
adoquery1.open;

解决方案 »

  1.   

    adoquery1.sql.add('select * from username where sj between '''+DateTimePicker1.date+'''and ''''+DateTimePicker2.date+'''')
      

  2.   

    请高手帮我指导一下了,帮我实现一个功能!!谢谢!!
    就是关于一个查询的,我想一个时间段字段SJ 
    用两个 DateTimePicker1,DateTimePicker2 意思是从个 DateTimePicker到DateTimePicker2 之间的时间段查询 bsy:string;  //相当于一个参数;
    implementationuses data_1;{$R *.dfm}procedure Tw_cz.BitBtn1Click(Sender: TObject);
    var
    ss:string;
    begin
    ss:='';
    if edit1.Text+combobox2.Text='' then
      begin
        application.MessageBox('您没有输入查询条件!请重新输入!','提示',mb_ok+mb_iconinformation);
      end
    else
     begin
     if edit1.Text<>'' then
       ss:=ss+'and sm='+''''+trim(edit1.Text)+'''';
     if combobox2.Text<>'' then
      ss:=ss+'and wz='+''''+trim(combobox2.Text)+'''';
    ss := 'select * from reader where bsy between '''+datetostr(DateTimePicker1.date)+
    ''' and  '''+datetostr(DateTimePicker2.date)+''''+'and lx='+'''' +'借入'+ ''''+ss;
    //关键是一个这句有问题,说找不到这个参数,还有空格搞的我糊涂了,我估计这是一个最只要的错误,
    data1.adojc.Close;
    data1.adojc.SQL.Clear;
    data1.adojc.sql.add(ss);
    data1.adojc.open;
     if data1.adojs.RecordCount=0   then
          begin
              application.MessageBox('没有符合要求的记录,请和管理员联系,请重新输入!','提示',mb_ok+mb_iconinformation);
          end;
    end;
    self.close;
    end;
    procedure Tw_cz.RadioButton1Click(Sender: TObject);
    begin
    if  RadioButton1.Checked then
         bsy:='jrrq'
      else
         bsy:='ghrq';
    end;procedure Tw_cz.RadioButton2Click(Sender: TObject);
    begin
    if  RadioButton1.Checked then
         bsy:='jrrq'
      else
         bsy:='ghrq';
    end;procedure Tw_cz.FormCreate(Sender: TObject);
    begin
      bsy:='jrrq';
    end;end.
      

  3.   

    ss := 'select * from reader where bsy between '''+datetostr(DateTimePicker1.date)+
    ''' and  '''+datetostr(DateTimePicker2.date)+''' and lx=借入'''+ss+'''';
      

  4.   

    select * from username where between sj='''+DateTimePicker1.date+''''and sj=''''+DateTimePicker2.date''''
      

  5.   

    bsy是一个参数,关键不是一个字段,bsy:='jrrq','ghrq'是一个类型的字段
      

  6.   

    1.
    select * from username where between sj='''+DateTimePicker1.date+''''and sj=''''+DateTimePicker2.date''''2.
    var BY,BM,BD,EY,EM,ED:word;
    DecodeDate(DateTimePicker1.date,BY,BM,BD);
    DecodeDate(DateTimePicker2.date,EY,EM,ED);
    //
    sql.text:='select * from username where sj>=:BDate and sj<=:EDate'
    query.parambyname('BDate').asDatetime:=EncodeDate(BY,BM,BD)+EncodeTime(0,0,0,0);
    query.parambyname('EDate').asDatetime:=EncodeDate(EY,EM,ED)+EncodeTime(23,59,59,999);