我想这个问题只是为了谈论过程和缺点,以及偏离代码
*Data Reader 在获取数据方面比 DataAdapter 快得多,但你必须知道到底什么是断开连接模式
*DataReader 或 Connected 模式和 DataAdapter Disconnected 模式在相同的场景中使用,但有时如果您是数据的一种方式,Disconnected 模式会更好
*但Disconnectiod模式提供了丰富的API,如DataAdapter、DataView、DataTable和DataSet。强大的是您只需为 DataAdapter 提供 SELECT、INSERT、UPDATE、DELETE 命令,使用一行代码 Adapter.Fill(DataTable) 或 Adapter.Fill(DataSet) 附加来自单个表或多个表的数据,以及与更新数据适配器相同。更新(数据表)
*在断开连接模式下更新分层数据比在连接模式下工作要好得多,连接模式必须使用额外的代码和额外的逻辑来维护,在断开连接模式下,您可以更新仅插入的行或更新的行或删除的行旁边更新操作包含在 Dot Net Transaction 中
Adapter.Update(DataTable.Select("","",DataViewRowState.Added))
*在断开连接模式下,您可以获取数据中每一行的版本,此外您还可以更改数据 DataTable.GetChanges()
*断开模式为你提供strongTypedDataSet,让你得到你的数据定义模式和关系,你可以得到父子行
*Disconnected 模式提供了通过 PrimaryKey 获取行的方法,也可以获取具有特定条件的行 DataTable.Select("FilterExpression","SortOrder",DataRowViewState)
*您可以在 DataTable 上进行计算,并且不会干扰您的服务器,例如 select productID,ProductName,Price,Quantity,price*quantity as Total,您可以轻松添加具有特定条件的列(价格*数量)
*您可以进行聚合或您抢夺的 DataTable ,DataTable.Compute("Sum(price)","price>250")
*在断开连接模式下,您拥有 CommandBuilder,它会为您创建 sqlcommands,但它仅适用于单个表