我现在想通过一个字段的两个不同的值来查询,我用query组件,
dm1.Query3.SQL.Clear;
dm1.Query3.SQL.Add('select * from out.db where 日期 between 日期 and 日期');
dm1.Query3.ParamByName('日期').AsDate:=datetimepicker1.Date;
dm1.query3.parambyname('日期').asdate:=datetimepicker2.date;
dm1.Query3.Open;
我这个不对呀??谁来告诉我怎么写呀???

解决方案 »

  1.   

    dm1.Query3.SQL.Clear;
    dm1.Query3.SQL.Add('select * from out.db where 日期 between :日期1 and :日期2');
    dm1.Query3.ParamByName('日期1').AsDate:=datetimepicker1.Date;
    dm1.query3.parambyname('日期2').asdate:=datetimepicker2.date;
    dm1.Query3.Open;
      

  2.   

    例如:var
      starttime, endtime: TDateTime;begin
    .......
      starttime:=datetimepicker1.Date;
      endtime := datetimepicker2.date;
      strsql:='select * from out.db where 日期>=:starttime and 日期<=:endtime';
      sql.Add(strsql);
      adoquery1.Parameters[0].value:=starttime;             
      adoquery1.Parameters[1].value:=endtime;
    .......
    end;
      

  3.   

    还要记得每次
    dm1.Query3.SQL.Clear;
    之前要dm1.Query3.Close