程序实现的功能就是查找在指定日期之间的数据,原程序如下:
---------------------------------------------------------------------------------
procedure TF_Sale_Print.Button1Click(Sender: TObject);
begin
    with DataModuleMain.ADOQuery_Sale_Print do
    begin
        SQL.Clear;
        SQL.Add('select 员工名,客户名,产品名,销售日期,销售数量,销售单价,销售数量*销售单价 as 销售总额');
        SQL.Add('from customer a, sale b,produce c,employee d');
        SQL.Add('where b.员工号=d.员工号 and c.产品号=b.产品号 and a.客户号=b.客户号 and ');
        SQL.Add('b.销售日期>=:dt1 and b.销售日期<=:dt2');          //问题语句
        Parameters.parambyname('dt1').Value:=DateTimePicker1.Date; //问题语句
        Parameters.parambyname('dt2').Value:=DateTimePicker2.Date; //问题语句
    end
end;
--------------------------------------------------------------------------------------
可是,我在运行的时候,程序总是说dt1没有找到,请问这个是什么原因,如何解决,谢谢。

解决方案 »

  1.   

    procedure TF_Sale_Print.Button1Click(Sender: TObject);
    begin
        with DataModuleMain.ADOQuery_Sale_Print do
        begin
            SQL.Clear;
            SQL.Add('select 员工名,客户名,产品名,销售日期,销售数量,销售单价,销售数量*销售单价 as 销售总额');
            SQL.Add(' from customer a, sale b,produce c,employee d');
            SQL.Add(' where b.员工号=d.员工号 and c.产品号=b.产品号 and a.客户号=b.客户号 and ');
            SQL.Add(' b.销售日期>=:dt1 and b.销售日期<=:dt2');          //问题语句
            Parameters.parambyname('dt1').Value:=DateTimePicker1.Date; //问题语句
            Parameters.parambyname('dt2').Value:=DateTimePicker2.Date; //问题语句
        end
    end;
      

  2.   

    procedure TF_Sale_Print.Button1Click(Sender: TObject);
    var
      s:string;
    begin
        with DataModuleMain.ADOQuery_Sale_Print do
        begin
            SQL.Clear;
            s:='select 员工名,客户名,产品名,销售日期,销售数量,销售单价,销售数量*销售单价 as 销售总额'   
              +' from customer a, sale b,produce c,employee d'
              +' where b.员工号=d.员工号 and c.产品号=b.产品号 and a.客户号=b.客户号 and '
              +' b.销售日期>=:dt1 and b.销售日期<=:dt2';
            SQL.Add(s);                  
            parambyname('dt1').asdate:=DateTimePicker1.Date; 
            parambyname('dt2').asdate:=DateTimePicker2.Date; 
        end
    end;
    搞定!!