我在处理dataset数据时,发现一下两个函数的区别.现在还没有搞太清除,只是实现了我要的功能.
dataSet1.Tables["Result"].Rows.Remove(dr);
DataRow.Delete();
我的dataset数据是从数据库读出来的,然后根据用户的标准对datarow数据进行筛选,不合格的要从dataset里删除.注意,不是删除数据库中的记录,只是从dataset里删除.然后用报表打印出来.
一开始我用delete()函数,在datagridview里面显示是删除了.但是把dataset绑定到报表时发现数据行依然存在.
于是改用Remove()函数,问题就解决了.
在MSDN文档里也没有说的很清楚.
网上有人说delete只是把Row标记为删除,并没有从数据库删除.至于为什么在gridview里删除了,就有点匪夷所思.
Remove方法也是要调用update之后才能更改数据库.有点混乱.