以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]10.13版微整数错误-不用管了  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41231)

--  作者:shenyl0211
--  发布时间:2013/10/14 17:29:00
--  [求助]10.13版微整数错误-不用管了

3列数据类型均定义为微整数,第三列(可休天数)=第一列(可休年休假天数15)-第二列(已休年休假天数),当调整第二列时,小于6没问题,大于5就提示“值对于类型“Byte”而言或者太大或者太小。”第二列设为短整数没事。反复测试都是如此。但用户在发布的项目输入这条请假记录时,因出现错误信息用户就关闭退出,但不知什么原因竟自动增加了512行相同记录。

 

项目中可能遇到负整数,此时微整数就不行了。因为中间调用了DataColChanged事件,其中涉及请假开始日期、结束日期、休假年份、参加工作日期、工龄、年休假天数、已休天数、可休天数、拟休天数等一系列计算、判断、控制。

 

谢谢大家的关心!

 

 

 

[此贴子已经被作者于2013-10-14 21:07:33编辑过]

--  作者:Bin
--  发布时间:2013/10/14 17:30:00
--  
所谓"微"整数 不难理解吧? 应该使用整数.
--  作者:shenyl0211
--  发布时间:2013/10/14 17:43:00
--  
以下是引用Bin在2013-10-14 17:30:00的发言:
所谓"微"整数 不难理解吧? 应该使用整数.

当然理解,255以内,我只用1~14,所以用微整数。原来正常,现在才发现问题。

[此贴子已经被作者于2013-10-14 17:44:03编辑过]

--  作者:Bin
--  发布时间:2013/10/14 17:45:00
--  
经过测试没有这个问题,上个例子看看.
--  作者:程兴刚
--  发布时间:2013/10/14 18:31:00
--  
但要注意:相减的结果还不能为负数。看您的表达式没有问题,那就应该限制列输入,估计是有超过255的数值
[此贴子已经被作者于2013-10-14 18:33:23编辑过]

--  作者:shenyl0211
--  发布时间:2013/10/14 21:10:00
--  
以下是引用程兴刚在2013-10-14 18:31:00的发言:
但要注意:相减的结果还不能为负数。看您的表达式没有问题,那就应该限制列输入,估计是有超过255的数值
[此贴子已经被作者于2013-10-14 18:33:23编辑过]

谢谢程版主的提醒!谢谢大家的关心!

因与DataColChanged事件有关,可能存在问题,见1楼解释。