对于不同的.net数据提供者,ADO.NET采用不同的Connection对象连接数据库。这些Connection对我们屏蔽了具体的实现细节,并提供了一种统一的实现方法。
Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。
Sqlconnetcion类的对象连接是SQL Server数据库;OracleConnection类的对象连接Oracle数据库;OleDbConneetion连接支持OLE DB的数据库,如Access;而OdbcConnection类的对象连接支持ODBC的数据库。与数据库的所有通讯都是通过Connection对象来完成的。
这次先介绍使用OleDbonnection来链接各种数据源。
ADO.NET的数据访问对象有Connection,Command、DataReader和DataAdaper等,由于每种.NET Data Provider都有自己的数据访问对象,因此他们的使用方式相似。这里主要介绍OLEDB.NET Data Provider的各种数据访问对象的使用。
注意:OLEDB.NET数据提供程序的命名空间是System.Data.OleDb,在使用它时应该在引用部分增加该语句。
OleDbConnection对象
在数据访问中首先必须建立到数据库的物理连接。OLEDB.NET Data Provider 使用OleDbConnection类的对象标识与一个数据库的物理连接。
1、OledbConnection类
OledbConnection类的常用属性如下表所示,其中的State属性取值及其说明如表14.7所示。
OleDbConnection类的常用属性及其说明
———————————————————————————
属性 说明
ConnectionString 获取或设置用于打开数据库的字符串
ConnectionTimeOut 获取在尝试建立连接时终止尝试并生成错误之前所等待的时间
Database 获取当前数据库或连接打开后要使用的数据库名称
DataSource 获取数据源的服务器名或文件名
Provider 获取在连接字符串的“Provider = ” 子句中指定的OLEDB提供程序的名称
State 获取连接的当前状态
———————————————————————————
State枚举成员值:
———————————————————————————
Connecting 连接对象正在与数据源连接
Executing 连接对象正在执行命令
Fetching 连接对象正在检索数据
Open 连接对象处于打开状态
———————————————————————————
OleDbConnection类的常用方法如下表所示:
———————————————————————————
Open 使用ConnectionString所指定的属性设置打开数据库连接
Close 关闭与数据库的连接,这是关闭任何打开连接的首选方法
CreateCommand 创建并返回一个与OleDbConnection关联的OleDbCommand对象
ChangeDatabase 为打开的OleDbConnection更改当前数据库
———————————————————————————
2、建立连接字符串ConnectionString
建立连接的核心是建立连接字符串ConnectionString,简历连接主要有如下两种方法。
1)、直接建立连接字符串
直接建立连接字符串的方式是先创建一个OleDbConnection对象,将其ConnectionString属性设置为如下:
Provider = Microsoft.Jet.OLEDB.4.0;Data Sourse = Access数据库;UserId = 用户名;Password = 密码;
其中Provider和DataSource是必选项,如果Access数据库没有密码,UserId和Password可以省略。由于Access数据库是基于文件的数据库,因此在实际项目中应该将Data Source的属性值转换为服务器的绝对路径。
最后用Open方法打开连接。