如果发生意外故障,我的数据集会发生什么

时间:2009-07-21 16:55:31

标签: ado.net dataset

我知道有人问here。但我的问题略有不同。在设计数据集时,请记住断开连接的原则,提供的功能可以处理应用程序的意外终止,例如电源故障或Windows挂起或导致重新启动的系统异常。假设用户输入了大约100行,并且仅在数据集中对其进行了修改。通常,数据集会在应用程序结束时或及时更新。

在使用vb 6.0进行编程的过去,所有交互都是直接与数据库进行的,因此每个成功的事务都是自动提交。如何使用数据集完成?

2 个答案:

答案 0 :(得分:0)

可以非常轻松地序列化DataSet,因此您可以通过将DataSet序列化到文件系统来实现自己的定期备份到磁盘。这将为您提供一些保护,但您必须编写自己的代码来检查您的应用程序之前可能已保存到磁盘的任何数据,等等......

您也可以忽略DataSet并使用SqlDataReaders和SqlCommands进行与您描述的“直接访问数据库”相同的类型。

答案 1 :(得分:0)

DataSet绝对不能直接访问数据库,它们只是一个断开连接的模型。他们没有意图从机器故障中恢复过来。

如果要对数据库进行实时工作,则需要使用DataReaders并对数据库发出DbCommands以进行更改。这当然会增加您在数据库服务器上的负载。

对于大多数应用程序,您必须平衡两者。如果您知道用户刚刚将重要数据作为新行输入,请对数据库执行insert命令,并将副本放入本地缓存的DataSet中。然后,本地查询可以针对断开连接的数据运行,并立即存储插入。