DateTimePicke控件的使用 ( 积分: 100 )

  • 主题发起人 主题发起人 zzwl77
  • 开始时间 开始时间
Z

zzwl77

Unregistered / Unconfirmed
GUEST, unregistred user!
我做了个管理系统,最后涉及到对数据库中数据的统计,我想用DateTimePicker控件按时间对数据库中的数据进行统计,
我的代码是:
if query1.Active then
query1.Close;
query1.SQL.Clear;
t1:=query1.SQL.Add('select sum(金额)as 原材料进货成本 from 原材料 where 活动=''购买''and 日期 between '''+datetostr(DateTimePicker1.Date)+''' and '''+datetostr(DateTimePicker2.Date)+''' ');
query1.Open;
if query1.Fields[0].Value = varNull then
edit3.Text:='0'
else
edit3.Text:=query1.Fields[0].AsString;
这样出现的错误是:当时间段内没有记录时,运行就会出错,相反有的时候还不会出错,不知道是什么原因?
错误是:'''is not a valid floating point value

麻烦各位高手帮帮忙!
谢谢!
 
if query1.IsEmpty then edit3.Text:='0'
else edit3.Text:=query1.Fields[0].AsString;
 
还是不行啊,还是那个问题:
这样出现的错误是:当时间段内没有记录时,运行就会出错,相反有的时候还不会出错,错误是:'''is not a valid floating point value
 
edit3.Text:= format('%f', [query1.Fields[0].AsCurrency]);
 
把sql语句改成这样
t1:=query1.SQL.Add('select sum(Isnull([金额],0))as 原材料进货成本 from 原材料 where 活动=''购买''and 日期 between '''+datetostr(DateTimePicker1.Date)+''' and '''+datetostr(DateTimePicker2.Date)+''' ');


if Varisnull(query1.Fields[0].Value) = True then
edit3.Text:='0'
else
edit3.Text:=query1.Fields[0].AsString;
 
'select sum(金额)as 原材料进货成本 from 原材料 改成
'select isnull(sum(金额),0) as 原材料进货成本 from 原材料 看看
....
edit3.Text:=query1.Fields[0].AsString;
 
太感谢上面高手的帮忙了!
 
后退
顶部