DataView没有使用New来初始化的杯具

最近发现系统有时在打开订单浏览画面时,会抛出在0行没有数据的错误提示,刚开始以后是搜索条件的问题,

而且出现的次数比较少,也没有规律,对系统操作也没有很大的影响,因此没有特别关照。但是今天通过连串偶然

的操作,发现这个错误可以这样重现,所以我就决定查出缘由来。通过一步步的跟踪,发现就是由于每次使用DataView

时都没有使用New来初始化,每次都是声明后,直接通过DataView dv = dt.DefaultView;这样来赋值了,但是每次在

使用dv后就设置dv.RowFilter = "***"。

        结果今天跟踪时就发现,我刚跟到DataView dv = dt.DefaultView这个地方就发现dv.RowFilter就已经赋值了,

奇怪了,结果数据才发现,由于没有重新给DataView分配内存,系统既然将其他画面中DataView的内存直接给

了他(DataView在这几个画面声明的名称都相同),所以看到dv.RowFilter的值已经赋上了就不奇怪了,所以曾经

以为的诡异Bug也解决了。所以在.net中声明一个对象后,还是先New,然后再赋值,才能杜绝这样的Bug的出现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值