注册 登录
编程论坛 Delphi论坛

SQL语句查询两个日期段中间的数据,再进行金额字段汇总出错!

踏雪冬思 发布于 2010-01-19 02:14, 3187 次点击
  with DataModule2.ADOdk do      //查询指定日期段的金额进行汇总显示
begin
close;
SQL.CLear;
SQL.add('select sum(金额) ye from dkxx where 录入时间 between :TimeBegin and :TimeEnd');
Parameters.ParamByName('TimeBegin').Value:=DateTimePicker9.Date;
Parameters.ParamByName('TimeEnd').Value:=DateTimePicker10.Date;
open;
end;

  Edit1.Text:= DataModule2.ADOdk.FieldByName('ye').Value;


==========
以上的句子在access中似乎无错,在sql中报not convert variant of type (Null) into type (String)' 错误,可以确定这两个时间段中间的金额字段中有数据,不是空的!
2 回复
#2
mohao1632010-01-19 09:23
检查下DateTimePicker9.Date的时间格式和数据库的时间格式是不是一致
你ShowMessage(DataModule2.ADOdk.SQL.TEXT),看看里边的查询语句直接拿到数据库能不能用
如果是类型错误,应该formatdatetime('yyyy-mm-dd hh:mm:ss',DateTimePicker9.Date);转换下格式
#3
shuang2009112010-01-25 22:56
那是因为你选择的日期,查询的结果使DataModule2.ADOdk.FieldByName('ye').Value=NULL导致的
1