运行时报"浮点异常...用户进程取消".(20分)

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

zgjob

Unregistered / Unconfirmed
GUEST, unregistred user!
我的一个数据插入程序是这样的.<br>adoqx2.SQL.add('select 药品ID,单位,批次,效期,实际数量,供货商ID,成本价,零售价,产地,kid from 收发记录 where 单据号='''+djh+''' And 入出类别ID&lt;&gt;13');<br>adoqx2.Open;<br> &nbsp;for i:=0 to adoqx2.recordcount-1 do<br> &nbsp;begin<br> &nbsp;sql.Clear;<br> &nbsp;sql.Add('exec in_kcb 1,:yid,'''+trim(adoqx2.Fields[1].asstring)+''','''+trim(adoqx2.Fields[2].AsString)+''','''+trim(adoqx2.Fields[3].AsString)+''',');<br> &nbsp;sql.Add(':sjsl,:gid,:cgj,:lsj,'''+trim(adoqx2.Fields[8].asstring)+''',:kid');<br> &nbsp;Parameters.ParamByName('yid').Value:=adoqx2.Fields[0].AsInteger;<br> &nbsp;parameters.ParamByName('sjsl').Value:=adoqx2.Fields[4].Value;<br> &nbsp;Parameters.ParamByName('gid').Value:=adoqx2.Fields[5].AsInteger;<br> &nbsp;Parameters.ParamByName('cgj').Value:=adoqx2.Fields[6].AsCurrency;<br> &nbsp;parameters.ParamByName('lsj').Value:=adoqx2.Fields[7].AsCurrency;<br> &nbsp;parameters.ParamByName('kid').Value:=adoqx2.Fields[9].AsInteger;<br> &nbsp;ExecSQL;<br> &nbsp;close;<br> &nbsp;adoqx2.Next;<br> &nbsp;end;{For循环添加}<br>运行时偶尔会报错&quot;&quot;浮点异常...用户进程取消&quot;.请问如何解决??
 
看看你的那两个asCurrency吧。是不是数据库中的数据是null,所在在转的时候出错了
 
不会为空的,最小都为0
 
问题是出在把原来的float型字段改成numeric(18,4)型字段后出现的浮点错误问题???????[:(][:(]
 
后退
顶部