Foxtable(狐表)用户栏目专家坐堂 → 帮助中为空判断的疑问


  共有2612人关注过本帖树形打印复制链接

主题:帮助中为空判断的疑问

帅哥哟,离线,有人找我吗?
蓝色理想
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:561 积分:4284 威望:0 精华:0 注册:2014/6/12 19:15:00
帮助中为空判断的疑问  发帖心情 Post By:2021/7/14 12:44:00 [只看该作者]

帮助中:

如果要判断旧值是否为空,则既可用:e.OldValue Is Nothing也可用IsNull方法判断: e.DataRow.IsNull("列名")
切不可用 e.DataRow("列名") Is Nothing 来判断旧值是否为空,因为对于数值列,如果值为空,e.DataRow("列名")返回的是0,如果是日期列,则返回#01/01/0001#,显然这都不是空值。


疑问:

帮助中也说 ,在datachanging 事件中,新值还没有写入,所以

e.OldValue 等于e.DataRow("列名") Is Nothing


那么上面说 可用:e.OldValue Is Nothing 判断是否为空

切不可用 e.DataRow("列名") Is Nothing 来判断旧值是否为空


为什么啊,感觉不都一样吗? 不都是用 Is Nothing吗?

Is Nothing 不能用来判断 数值列 是否为空吗?



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/14 13:36:00 [只看该作者]

因为他们的类型不一样,这个涉及到面向对象的原理。

个人的建议,能使用isnull判断的优先使用isnull

 回到顶部