ADO.NET 对象介绍(一)

作者:vkvi 来源:ITPOW(原创) 日期:2007-6-26

ADO.NET 对象众多,我们将其分成两大类,第一类是直接与数据库相关的对象,以 Sql 或 OleDb 开头,第二类是与 DataSet 相关的,诸如数据表、数据视图等。

本文属 .NET Framework 1.0 范畴,2.0 中兼容。


这一节介绍的对象有:Connection、Command、DataReader、DataAdapter,但在编程中并不使用这几个单词作为对象名称,还需要在前面加上 Sql 或 OleDb,加上 Sql 的对象实用于 MS SQL Server 7.0 及以上版本,加上 OleDb 的对象适用于所有数据库(管理系统),使用 Sql 开头的对象操作 MS SQL Server 数据库要比使用 OleDb 开头的对象操作 MS SQL Server 数据库性能优越,所以在数据库使用 MS SQL Server 时,应该使用 Sql 开头的对象,否则微软也不会单独开发出一系列针对 MS SQL Server 的对象了。

使用 Sql 开头的对象,名称空间是:

System.Data.SqlClient

使用 OleDb 开头的对象,名称空间是:

System.Data.OleDb

SqlConnection 和 OleDbConnection

Connection 对象用于建立和数据库的连接。对于 SqlConnection 不需要指明 provider,因为其驱动是固定的,而对于 OleDbConnection 则需要指明 provider 用以说明需要什么数据库驱动。

SqlConnection conn = new SqlConnection("server=(local);User ID=foo;Password=foo;Initial Catalog=foo");

SqlCommand 和 OleDbCommand

Command 对象用于对数据库进行操作。

SqlCommand cmd = new SqlCommand("select * from tbl", conn); //conn 为 SqlConnection 对象

SqlDataReader 和 OleDbDataReader

DataReader 对象读取数据库中的数据,它从数据库返回一个只读的、仅向前的数据流,当前内存中每次仅存在一条记录,所以它相对 ADO 的 RecordSet 性能非常优越。SqlDataReader 和 OleDbDataReader 的属性和方法还是有一定区别的,因为面向的数据库字段类型不同。

SqlDataReader dr = cmd.ExecuteReader(); //cmd 为 SqlCommand 对象

SqlDataAdapter 和 OleDbDataAdapter

DataAdapter 对象建立、初始化 DataTable,从而和 DataSet 对象结合起来在内存中存放数据,DataAdapter 对象能隐藏和 Connection、Command 对象沟通的细节,所以在使用 DataAdapter 时不需要指明 conn.Open(conn 为 Connection 对象),而使用 Command 和 DataReader 则需要指明 conn.Open。

DataAdapter 与下一节的 DataSet 密切相关。

相关文章