ADO.NET(一):连接层

ADO.NET的数据提供程序

ADO.NET没有提供单一的方式来和不同的DBMS进行通信,而是提供了多种数据提供程序,每种为某个DBMS进行优化。System.Data.Common命名空间以及System.Data中是一些核心公共对象:他们的基类(System.Data.Common)以及接口(System.Data):

对象那个

基类

实现的接口

作用

Connection

DbConnection

IDbConnection

连接和断开数据源,提供了相关事务的访问

Command

DbCommand

IDbCommand

代表SQL查询语句或存储过程名,同样提供了相关数据读取对象的访问

DataReader

DbDataReader

IDbDataReaderIDataRecord

提供只读只向前形式的数据访问

DataAdapter

DbDataAdapter

IDataAdapterID DataAdapter

再数据库和调用者之间传递DataSet,内置四个命令对象来实现数据库的查询、插入、修改和删除

Parameter

DbParameter

IDataParameterIDbDataParameter

再参数化查询中表示参数

Transaction

DbTransaction

IDbTransaction

实现数据库事务

SqlConnectionOracleConnectionOdbcConnectionMySqlConnection,都是从基类DbConnection继承,并且实现IDbConnection接口。

 

使用接口抽象数据提供程序

 

 

//可能的提供程序列表
enum DataProvider
{ SqlServer, OleDb, Odbc, Oracle, None }

 

 

Code

 

Code

 

Code

 

使用连接对象

典型的连接字符串如下:

Provider=SQLOLEDB;Data Source=(local)\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=AutoLot;

 

Initial Catalog表示要建立连接的数据库,Data Source表示维护数据库的机器名,Integrated Security=SSPI等价于true)表示使用当前Windows账户平局为用户身份验证。

在输入字符串之后,可以调用open()来建立和DBMS之间的联系,除此之外,还有另外一些核心成员:

BeginTransaction

开始数据库事务。

ChangeDatabase 

为打开的连接更改当前数据库。

ConnectionTimeout 

获取在建立连接时终止尝试并生成错误之前所等待的时间。

Database 

在连接打开之后获取当前数据库的名称,或者在连接打开之前获取连接字符串中指定的数据库名。

DataSource 

获取要连接的数据库服务器的名称。

GetSchema 

返回此 DbConnection 的数据源的架构信息的DataSet

State 

获取描述连接状态的字符串,ConnectionState枚举形式。

 

ConnectionState 枚举中只有openClose时有效的,其他成员会在将来保留使用。

 

ConnectionStringBuilder

以编程方式使用连接字符串不是很容易维护,这时候就可以使用ConnectionStringBuilder(可以使用它来修改相关属性)

 

Code

 

 

使用命令对象

    SqlCommand类型(继承自DbCommand)是SQL查询、表名和存储过程的一种面向对象的表示方法。可以使用CommandType属性来制定命令的类型,它的值由CommandType枚举定义:

 

 

使用数据读取器

DbDataReader是从数据源获取信息最简单也是快速的方法,它只读向前的数据流,并且一次返回一条记录。可以通过commandExecuteReader()方法来获取数据读取连接对象。对于多个结果集,可以使用DataReaderNextResult()方法。

 

 

posted @ 2009-06-08 10:59  碧海山城  阅读(357)  评论(0编辑  收藏  举报