程序实现的功能就是查找在指定日期之间的数据,原程序如下:
---------------------------------------------------------------------------------
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没有找到,请问这个是什么原因,如何解决,谢谢。
---------------------------------------------------------------------------------
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没有找到,请问这个是什么原因,如何解决,谢谢。
解决方案 »
- 程序生涯六年,终于又往三十奔了一步。默默地为自己祝福,生日快乐!
- 有关触发器的问题(怀疑delphi的ado控件有问题)
- 怎么样给字体勾边?字体到了电视上好象有点发散了,想给字体的轮廓加个边
- 一个很有趣的问题,高手请进!
- 为什么我的query.open 后,就不能append,总是提示不能修改一个 read-only dataset,how to?
- Delphi 与 C++ Builder 之比较
- 请问怎样在字符串的左边添加空格,以使字符串达到一定长度?
- 超难问题!!!!!!!!!!!!!!!!!!!!!!!!!!在线等待,解决就结分
- 如何通过SQL语言把数据库中的数据赋值给变量?
- 求教:怎么样才能拦截bn_clicked即鼠标单击的消息?
- 如何改变MySql的数据文件路径?
- 怎么给动态造建的控件写事件
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;
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;
搞定!!