日期:2014-05-18  浏览次数:20772 次

发现一个奇怪的问题,DATASET.Table.Rows.Count=0时,里头居然还有数据
这个dataset的维护是一边插一边删除的,删除是用rows.remove方法,当写入数据的时候我是先判断dataset.table.rows.count是不是为0,如果是为0就不写数据进去.

但是实际发现当为0时,写数据进去会报键列重复,只好通过判断rows.count=0时ds.table.clear方法清空后再写入解决问题.


这是怎么回事呢?

------解决方案--------------------
楼主的删除和插入操作是不是在不同的线程中进行处理,如果是这样,那需要对DataSet进行lock,保证原子化操作。
------解决方案--------------------
探讨
补充:cp_sp_syn_mo表的id列是自增列,肯定不会有重复