起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 210|回复: 7

invalid floating point operation

[复制链接]
发表于 2010-4-21 15:59:00 | 显示全部楼层 |阅读模式
只是在循环语句中逐条更新数据集中的某个字段,不涉及到字段的计算,也不存在被0除或者对0开根号,数据集只会在
Edit的同时更新日期型字段 【最后编辑时间】。(设置自动填充当前日期时间)
主要代码如下:

with sdsdataset do
  begin
     if (not active )  Or (Eof)  then exit;
    .
    .
    .
   First;
   while not Eof do
   begin
       Edit;
       FieldByName('Ran').Asstring:= lran;
       next;
   end;
   Try
      applyupdates(0);
   except on E:Exception do
   begin
      sysutils.abort;
   end;
   end;
  end;

代码运行到Next后,报错提示为:
   invalid floating point operation
请问该如何解决? 原因是什么?
回复

使用道具 举报

发表于 2010-4-21 16:22:16 | 显示全部楼层
楼主,现在排除一下问题,究竟是哪个字段出问题了
1、取消这个自动填充当前日期时间  属性
2、不对 Ran 字段赋值,加上自动填充当前日期的属性
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-21 17:03:53 | 显示全部楼层
最初由 atiger 发布
[B]楼主,现在排除一下问题,究竟是哪个字段出问题了
1、取消这个自动填充当前日期时间  属性
2、不对 Ran 字段赋值,加上自动填充当前日期的属性 [/B]



在第二种情况下会出现问题
回复 支持 反对

使用道具 举报

发表于 2010-4-22 09:20:59 | 显示全部楼层
看看物理表的字段类型是否对,如果不对,强制创建一下物理表,

另外,如果还解决不了,请提供一下能再现的表,我们测试看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-22 12:09:15 | 显示全部楼层
物理表的字段是对的,没有强制创建物理表。
把数据分批过滤执行上述操作就不会有问题,所以应该不是物理表字段的问题吧?!
回复 支持 反对

使用道具 举报

发表于 2010-4-22 12:11:01 | 显示全部楼层
分批过滤,最后所有原先显示的数据都执行到了吗?
如果没有,你找找,说不定跟某些记录有关
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-22 12:33:47 | 显示全部楼层
都执行到了,上次也出现了同样的情况,也是通过分批过滤来完成的。
而且是同一个用户账号出现的问题。用其他账户(比如我的账户)也执行
这同样多的数据,没有出现相同的问题!
回复 支持 反对

使用道具 举报

发表于 2010-4-22 14:34:11 | 显示全部楼层
这么神奇,楼主可以提供这些数据,并告知一下该帐号分配到岗位成员下的bizURL,我们来测试看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 03:29 , Processed in 0.040962 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表