ADO.NET 对象众多,我们将其分成两大类,第一类是直接与数据库相关的对象,以 Sql 或 OleDb 开头,第二类是与 DataSet 相关的,诸如数据表、数据视图等。
本文属 .NET Framework 1.0 范畴,2.0 中兼容。
ASP 中,操作数据库常常只需要 Connection 和 RecordSet,最多搭上 Command,而在 ASP.NET 中应用 ADO.NET 时则要复杂得多,这可能是由于对象众多,并且对象的属性与方法众多的原因。我们着重通过两个常用的应用,试图帮助大家理解 ASP.NET 中应用 ADO.NET 的方法。
DataReader 应用
DataReader 应用于客户界面利用手写代码的情况,即没有用到数据绑定且数据的更新是利用手写的 SQL 语句或存储过程,即像 ASP 中一样操作数据库。
示例(片段)
DataSet 应用
DataSet 常应用于将数据绑定到用户界面。
示例(片段)
DataReader 和 DataSet 应用分类
DataReader
Connection -> Command -> DataReader
DataSet
Connection -> DataAdapter -> DataSet -> DataTable -> DataView -> DataGrid
以上箭头并不表示继承、调用、数据流关系,只是应用时所需对象的先后顺序,我们这样分类是便于您理解、记忆 DataReader 和 DataSet 的应用。
以上应用并非固定模式,ADO.NET 中这几个对象的应用是非常灵活的,比如:在应用 DataReader 时,我们可以不用 conn.Open()(conn 为 connection 对象)打开数据库连接,而用 cmd.Connection.Open()(cmd 为 Command 对象)打开数据库连接;又如:使用 DataAdapter 时也可以用 Command。