如何操作DataTable? 在内存中对DataTable表操作时,在修改完表中数据之后,如何让它恢复到上一步的状态,或者恢复到原状? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你的DataTable是在数据集ds里面,可以使用ds.AcceptChanges();会将DataTable中的每行的状态恢复成初值unchanged 哦!谢谢各位!能不能在dataTable中直接操作,不再复制一个表啊,那样会很占内存的,会影响性能!上面的兄弟说用ds,那个ds.AcceptChanges();能将ds里的表都恢复原状吗,如果我要只恢复其中一个表可以吗?另外,ds的可控性没有dataTable的好,一个表操作总能比ds这个数据集要简单方便一些,而且速度更快,有没有什么方法或函数能直接令dataTable表恢复到上一步的状态或者恢复到原来的状态啊!谢谢各位了!!! ds.AcceptChanges();可以复位所有表的所有行的行状态你也可以ds.YourTable.AcceptChanges();这样就可以只修改某张表了,但是注意,此时的ds是类型化数据集,如果你的数据集是非类型化的数据集,则应该ds.Tables["YourTableName"].AcceptChanges(); 需要存盘的时候用AcceptChanges()恢复原状用RejectChanges()类似游戏里的save/load 楼上正解。AcceptChages()是接受修改,用了AcceptChages()就不能再恢复了。 可别乱误导新人啊,AcceptChanges是更新所有行状态,也就是所有更新的,插入的行的数据状态都会被更新为unchanged,删除的行会被真正删除。当调用AcceptChanges方法前。对DataSet的任何操作都只是挂起操作,并未实际执行。调用后就相当于真正执行了,就像你打开Windows操作系统里一些设置窗口时下面的“应用”按钮,你在窗口里更改设置的时候不会即时生效,只有点应用时才会生效。要想撤消行的更改就要调用RejectChanges方法。不过不能单步撤消,一次就全部撤消了。 我新建了一个控制台项目怎么载入windows应用程序 字符串提取成数组 不支持关键字:“HOST”在线求解! 关于数据库前台循环问题,求解答 sql 算法 C# 上传数据库报错,你们见过这错误吗 求一SQL语句写法? 小问题:怎么用ToString的参数控制数据格式为右齐+4位 为什么我删除excle3行后总是有一行没删掉? C# 序列化性能优化 谁有EXCEL第三方控件能操作EXCEL中的button控件,求助,急... 我在自定义控件的时候, 一个控件里有包括文本框在内的很多种基本控件,运行显示总是文本框先出来,然后才是其他东西跟着出来,如何才能让它们同时出来?
上面的兄弟说用ds,那个ds.AcceptChanges();能将ds里的表都恢复原状吗,如果我要只恢复其中一个表可以吗?
另外,ds的可控性没有dataTable的好,一个表操作总能比ds这个数据集要简单方便一些,而且速度更快,有没有什么方法或函数能直接令dataTable表恢复到上一步的状态或者恢复到原来的状态啊!
谢谢各位了!!!
你也可以
ds.YourTable.AcceptChanges();这样就可以只修改某张表了,但是注意,此时的ds是类型化数据集,如果你的数据集是非类型化的数据集,则应该
ds.Tables["YourTableName"].AcceptChanges();
恢复原状用RejectChanges()
类似游戏里的save/load
可别乱误导新人啊,AcceptChanges是更新所有行状态,也就是所有更新的,插入的行的数据状态都会被更新为unchanged,删除的行会被真正删除。当调用AcceptChanges方法前。对DataSet的任何操作都只是挂起操作,并未实际执行。调用后就相当于真正执行了,就像你打开Windows操作系统里一些设置窗口时下面的“应用”按钮,你在窗口里更改设置的时候不会即时生效,只有点应用时才会生效。要想撤消行的更改就要调用RejectChanges方法。不过不能单步撤消,一次就全部撤消了。