4-1 ADO.NET简介 5

4-1-5   Connection对象

1.Connection对象概述

要开发数据库应用程序,首先须要创建与数据库的链接。在ADO.NET中,数据库链接是经过Connection对象管理的。此外,事务管理也经过Connection对象进行。不一样的数据提供程序对应着不一样的Connection对象,请看表46
4-6 各个命名空间中的Connection对象表
提供程序
Connection
SQL数据提供程序
SqlConnection
OLE DB数据提供程序
OleDbConnection
Oracle数据提供程序
OracleConnection
ODBC数据提供程序
OdbcConnection
在后面的内容中,主要以SqlConnection对象为例。

2.Connection对象的使用

1Connection对象的属性和方法
Connection对象最经常使用的属性有ConnectionStringDatabase。其中ConnectionString属性用来获取或设置用于打开SQL Server数据库的字符串。Database属性用来获取当前数据库或链接打开后要使用的数据库的名称。ConnectionString属性要使用到链接字符串,关于链接字符串部分,在后面将有大篇幅来介绍。
Connection对象最经常使用的方法有Open()和Close()。其中Open()方法使用ConnectionString所指定的属性设置打开数据库链接。若是SqlConnection超出范围,则不会将其关闭。所以,必须经过调用Close显式关闭该链接。Close()方法用来关闭与数据库的链接。这是关闭任何打开链接的首选方法。请看下面的示例:
private static void OpenSqlConnection(string connectionString)
{
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();
            Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
            Console.WriteLine("State: {0}", connection.State);
        }
}
2Connection对象组件
.NET开发平台将一部分对象作成可视化的对象组件,程序员在编程的时候能够不用编写大量代码去定义和使用,只须要在工具箱中拖拽一个组件到窗体上,就能够进行配置使用。这种方式大幅的提升了编程效率,下降了出错率,可是在实际项目开发中不建议采起这种拖拽的形式进行ADO.NET开发。

3. 案例学习:经过拖拽形式创建Connection对象的数据库链接实验

u   实验步骤(1)
首先右击工具箱弹出菜单,在弹出菜单中点击“选择项”,在出现的选择工具箱箱中选中要使用到的SqlConnection等一系列ADO.NET对象组件,在它们前面的复选框中打上对号,并;最后点击“肯定”,SqlConnection等组件就出如今工具箱中。如图413所示。
4-13 向工具箱添加组件图
u  实验步骤(2)
在工具箱中选择“数据”选项卡,找到刚刚添加上的SqlConnection对象组件,点击后向窗体拖放,在设计窗口下的组件栏出现SqlConnection1对象。选中SqlConnection1对象,在属性窗口找到ConnectionString属性,选择右侧下拉框中的“新建链接”。设计窗口会弹出一个“添加链接”窗口(如图4-14所示)。这个窗口是配置SqlConnection1对象的链接属性而专用的窗口。在“添加链接”窗口,首先要在列表中选择SQL Server服务器,而后要指定用户和密码,最后选择要链接的数据库。点击“测试链接”,若是链接成功,则会显示一则成功消息。这时,就能够看到SqlConnection1对象的ConnectionString属性右侧栏中出现一长串字符,这就是链接字符串。在后续的代码编写过程当中,就可使用SqlConnection1对象对数据库进行访问了。
4-14 添加数据库链接图

4.案例学习:经过编写代码来链接数据库的链接实验

u  实验步骤(1)定义链接字符串
数据库的链接定义通常是以字符串的形式出现,该字符串的定义参见图415所示。
4-15 链接字符串举例图
无论用拖放方式在图形界面增长的SqlConnection1对象,仍是经过代码编写生成的SqlConnection1对象,都须要定义链接字符串。界面增长的SqlConnection1对象,其链接字符串在配置数据库链接后自动生成,而代码编写生成的SqlConnection1对象,其链接字符串须要安装格式要求手工编写。链接字符串决定了链接某台服务器,某个数据库,还有链接方式及要求。
编程时定义链接字符串的具体例子,参见图416
4-16 定义链接字符串具体举例图
    416中,SqlConnection1sqlconnection对象,经过sqlconnection对象加载数据库链接字符串与MSSQL进行链接。在链接字符串中,“Server=SQLDB;”表示存储“pubs”数据库的服务器名称,该服务器名称为SQLDB,也能够写成IP地址,如123.101.220.1。若是是本地数据库服务器,能够有如下几种写法:
n  “(local)”或者“.”
n  127.0. 0.1
n  本地机子名称
在链接字符串中,“User id=sa; pwd=password”表示登陆数据库服务器用户名称和密码,使用这种用户身份登陆方式必须是,用户一样可使用“SQL Server身份认证”登陆数据库服务器,不然链接仍然会失败。最后的“database=pubs”表示登陆服务器是pubs数据库。
 
小知识:
 
链接字符串
全部的链接字符串都有相同的格式,它们由一组关键字和值组成,中间用分号隔开,两端加上单引号或双引号。关键字不区分大小写,可是值可能会根据数据源的状况区分大小写。
假设SQL Server2005数据库服务器为本机,要访问的数据库名为MyDB,采用Windows集成安全性认证方式。
        SQL Client 方式的链接字符串以下:
"Data Source=127.0.0.1;Persist Security Info=False;Initial Catalog=MyDB;Integrated Security=SSPI"
"Data Source" 是关键字,这里与"server"能够呼唤,都用来表示数据库服务器,等号后面就要对应具体的数据库服务器的IP或者名称。"Persist Security Info"关键字,若是将该关键字设置为trueyes,将容许在打开链接后,从链接中得到涉及安全性的信息(包括用户标识和密码)。若是在创建链接时必须提供用户标识和密码,最安全的方法是在使用信息打开链接后丢弃这些信息,在Persist Security Info设置为falseno时会发生这种状况。当您向不可信的源提供打开的链接,或将链接信息永久保存到磁盘时,这点尤为重要。若是将Persist Security Info保持为false,可帮助确保不可信的源没法访问链接中涉及安全性的信息,并帮助确保任何涉及安全性的信息都不会随链接字符串信息在磁盘上持久化。"Initial Catalog"关键字能够与"database"关键字互换,用来指定须要链接的数据库服务器中具体某一数据库,等号后面就要对应具体的数据库,本例中就是"MyDB""Integrated Security"关键字表示是否使用Windows身份验证(一般称为集成安全性)链接到服务器数据库上。若是键值为"true"或者"SSPI"表示指定Windows身份验证,若是键值为"false"表示不指定Windows身份验证。可是,只有键值"SSPI"将适用于OleDb .NET Framework数据提供程序。对于ODBC .NET Framework数据提供程序,必须使用如下键/"Trusted_Connection=yes;"指定Windows身份验证。对于不使用Windows身份验证而使用SQL Server身份验证,使用"User ID=*****;Password=*****;"替换掉"Integrated Security"关键字及其键值,来指定用户名和密码。
        OLE DB 方式的链接字符串以下:
"Provider=SQLOLEDB;Data Source=127.0.0.1;Persist Security Info=False;
Initial Catalog=MyDB;Integrated Security=SSPI"
"Provider" 关键字用来指定哪一类数据源,其键值取值能够参见表44,其余关键字用法与SQL Client方式相同。
        ODBC 方式的链接字符串以下:
"Driver={SQL Server};Server=127.0.0.1;Database=MyDB;Trusted_Connection=Yes;UID=Administrator"
"Driver" 关键字用来指定哪一类数据源,其键值取值能够参见表45,其余关键字用法与SQL Client方式类似。区别就是"Trusted_Connection""UID""Integrated Security""User ID",关键字虽然不一样,可是用法相同。
 
u   实验步骤(2):建立Connection对象
在代码编辑器里面,经过编写代码的方式建立Connection对象的过程参见图417所示:
4-17 建立链接对象图
在对象建立过程当中将链接字符串做为参数传递给SqlConnection类的构造函数,这样链接对象SqlConnection1就能够用来访问数据了。构造函数还有个重载,就是参数为空的构造函数。在实例化时不将链接字符串做为参数传给构造函数,实例化以后,给对象SqlConnection1的属性ConnectionString赋值,完成对象SqlConnection1的设置。例如:
 
SqlConnection SqlConnection1 = new SqlConnection();
SqlConnection1.ConnectionString = "Data Source= 10.5.0 .30;Initial Catalog=TTDB;
User ID=TrainingDeveloper  Pwd=Password" ;
 
u  实验步骤(3):打开与数据库的链接
Connection对象的Open()方法就能够打开数据库链接。例如:
     SqlConnection1.Open( );
相关文章
相关标签/搜索