《连接数据源》PPT课件.ppt

上传人:牧羊曲112 文档编号:5611390 上传时间:2023-08-02 格式:PPT 页数:41 大小:322.99KB
返回 下载 相关 举报
《连接数据源》PPT课件.ppt_第1页
第1页 / 共41页
《连接数据源》PPT课件.ppt_第2页
第2页 / 共41页
《连接数据源》PPT课件.ppt_第3页
第3页 / 共41页
《连接数据源》PPT课件.ppt_第4页
第4页 / 共41页
《连接数据源》PPT课件.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《《连接数据源》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《连接数据源》PPT课件.ppt(41页珍藏版)》请在三一办公上搜索。

1、2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,1,数据库访问技术ADO.NET程序设计,第二章 连接数据源,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,2,学习目标,能正确选择数据提供程序能正确设置连接字符串能熟练地对连接进行打开与关闭能处理数据连接过程中出现的常见异常,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,3,本章重点,.NET数据提供程序的选择连接字符串的设置连接的打开与关闭,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,4,2.1 选择.NET数据提供程序,什么是数据提供程序?.NET数据提供程序用

2、于连接到数据库,执行命令和查询结果。它为程序开发者处理不同类型的数据库系统提供了不同的程序类,它是ADO.NET架构中的核心组件,使得程序开发者和数据库系统间的操作变得更加简单方便,使程序开发者完全专注于程序其它方面的实现而不需要考虑数据库操作的具体实现细节。,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,5,.NET Framework类库中提供了以下.NET数据提供程序,2.1.1.NET数据提供程序的简介,2.1 选择.NET数据提供程序,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,6,2.1.2.NET数据提供程序类,2.1 选择.NET数据提

3、供程序,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,7,选择.NET数据提供程序的一般原则,2.1 选择.NET数据提供程序,2.1.3 选择.NET数据提供程序,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,8,当我们选择好一个.NET数据提供程序后,我们需要利用数据提供程序所提供的类的功能来实现数据源的连接。对于数据源的连接最关键的有两点,第一点是正确选择所需要的数据提供程序,第二点便是正确的设置连接字符串。,2.2 连接的创建,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,9,连接字符串(Connection String):

4、是在连接数据源时所提供的必要的连接信息,其中包括连接的服务器对象,帐号,密码和所访问的数据库对象等信息。是进行数据连接必不可少的信息,对于连接字符串的设置我们可以利用工具和手动的方式建立。,2.2.1 连接字符串,2.2 连接的创建,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,10,2.2.1 连接字符串,2.2 连接的创建,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,11,【例2-1】在路径d:dbtemp.mdb下有ACCESS格式的数据库,请写出连接此数据源的连接字符串.连接字符串为:“Provider=Microsoft.Jet.OLEDB.

5、4.0;Data Source=d:dbtemp.mdb”说明:指明本数据源的驱动程序是,此驱动程序必须存在于你的计算机中。2.Data Source=d:dbtemp.mdb指明本数据的数据源,由于是ACCESS数据库,所以是一文件名.,2.2.1 连接字符串,2.2 连接的创建,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,12,【例2-2】有SQL Server 2000数据源,服务器名为Server1,数据库名为Northwind,采用集成身份证,请写出连接此数据源的连接字符串:连接字符串为:“Initial Catalog=Northwind;Data Sourc

6、e=server1;integrated Security=True;”说明:1.Initial Catalog=Northwind;项指明您要连接的数据库名称为Northwind.2.Data Source=server1;项指明您连接到的数据库服务器的名称为server1;3.integrated Security=True;项指明您所登录到数据库的方式是以集成用户的方式登录。,2.2 连接的创建,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,13,【例2-3】有一SQL Server 2000数据源,服务器名为Server1,数据库名为Northwind,用户名为sa

7、,密码为sa,请写出连接字符串格式字符串格式为:“Initial Catalog=Northwind;Data Source=server1;UID=sa;PWD=sa;”说明:1.Initial Catalog=Northwind;指连的数据库名为Northwind;2.Data Source=server1;指连的数据库服务器是server1;3.UID=sa;指登录SQL Server数据库服务器的用户名是sa;4.PWD=sa;指登录SQL Server数据库服务器的密码是sa;,2.2 连接的创建,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,14,【例2-4】有

8、一Oracle 9i数据源,数据库服务名为tuop,用户名为system,密码为manager,请写出连接字符串格式:字符串格式为:“user id=system;data source=tuop;password=manager;”说明:1.user id=system;项指明访问此数据源的用户名为system;2.data source=tuop;项指明所要访问的数据源为tuop,注意此处的tuop不是服务器名,而是指的是oracle的实例名,更多细节请参考oracle相关知识。3.password=manager;项指明访问此数据源的密码是manager;,2.2 连接的创建,2023/

9、8/2,数据库访问技术-ADO.NET程序设计 张申勇,15,注意:以上连接字符串中各项需要用分号隔开,每个项的位置没有关系,可以是任意的即下面两种字符串格式是完全等价的:“Initial Catalog=Northwind;Data Source=server1;UID=sa;PWD=sa;”“Initial Catalog=Northwind;UID=sa;PWD=sa;Data Source=server1;”,2.2.1 连接字符串,2.2 连接的创建,思考:大小写有没有区别?,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,16,【例2-5】在SQL Server

10、2000有数据库NorthWind,利用Windows集成验证方式登录,请创建此连接。第一步:打开服务器资源管理器方法:在开发环境菜单栏中选择视图,选择服务器资源管理器,即可打开服务器资源管理器。第二步:创建连接,选择数据连接,单击右键,选择添加连接 第三步:设置连接属性 第四步:将所建立的数据库连接拖放到窗体中,2.2.2 设计时创建连接,2.2 连接的创建,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,17,【例2-6】:在C:authors.mdb有一ACCESS数据文件,请利用工具的方式建立访问ACCESS数据库的连接对象第一步:添加连接,第二步:选择数据提供程序,

11、第三步:选择或输入数据文件名C:authors.mdb,点击测试.第四步:通过测试后,在服务器资源管理器中便可查看该文件中存在的对象,第五步:将建立好的连接拖动到窗体中到此我们便建立好了一个名为OleDbConnection1的对象.,2.2.2 设计时创建连接,2.2 连接的创建,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,18,【例2-7】:有一Oracle数据库,实例名为tuop,用户名为system,密码为manager,请利用工具的方式建立连接此实例的连接对象。第一步:添加连接第二步:选择数据提供程序第三步:输入连接信息第四步:连接成功后,拖动连接到窗体便建立了

12、一个名为OracleConnection1的连接对象,2.2.2 设计时创建连接,2.2 连接的创建,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,19,虽然服务器资源管理器能够非常方便快捷的建立数据源的连接,但却不能灵活有效的为程序开发者服务,特别是我们需要动态的添加或删除数据源连接的时候,这时,我们需要通过代码的方式创建数据源的连接,这样才能达到随心所欲的地步.,2.2.3 运行时创建连接,2.2 连接的创建,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,20,【例2-8】.创建连接到SQL Server 7.0以上的连接,数据库名为Northwin

13、d,服务器名为Zhuos,用户名为sa,密码为sa,代码如下:SqlConnection conn;conn=new SqlConnection();conn.ConnectionString=Initial Catalog=Northwind;+Data Source=zhuos;UID=sa;PWD=sa;或者也可以用下面的语句来实现:SqlConnection conn=new SqlConnection();conn.ConnectionString=Initial Catalog=Northwind;+Data Source=zhuos;UID=sa;PWD=sa;,2.2.3 运行

14、时创建连接,2.2 连接的创建,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,21,需要注意的是:在使用SqlConnection类前要注意引用命名空间命令如下:using;或者是通过以下语句实现:conn;Conn=new();conn.ConnectionString=Initial Catalog=Northwind;+Data Source=zhuos;UID=sa;PWD=sa;,2.2.3 运行时创建连接,2.2 连接的创建,思考:上面两种写法不同,执行效率上有没有区别?,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,22,【例2-9】创建连

15、接到ACCESS数据库的连接,数据文件在D:authors.mdb.OleDbConnection conn;conn=new OleDbConnection();conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+Data Source=d:/authors.mdb;,2.2.3 运行时创建连接,2.2 连接的创建,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,23,【例2-10】创建连接到Orace数据库的连接,数据库实例为tuop,用户名为system,密码为:manager.OracleConnection

16、 conn;conn=new OracleConnection();conn.ConnectionString=user id=system;data source=tuop;password=manager;,2.2.3 运行时创建连接,2.2 连接的创建,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,24,2.3 管理连接类的方法和事件,连接类connection主要有以下三个方法:Open():表示打开一个已建立好的连接对象Close():表示关闭一个已打开的连接对象,将连接释放到服务器的连接池中Dispose():移除连接,从服务器的连接池中删除连接,2.3.1 连

17、接类的方法,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,25,【例2-11】:有一SQL Server 2000数据库,服务器名为zhuos,现要打开此服务器上的Northwind数据库,用户名和密码都是sa,请写出完成此操作的代码。conn;conn=new();conn.ConnectionString=Initial Catalog=Northwind;+Data Source=zhuos;UID=sa;PWD=sa;conn.Open();/此处放置数据处理的代码conn.Close();,2.3.1 连接类的方法,2.3 管理连接类的方法和事件,2023/8/2

18、,数据库访问技术-ADO.NET程序设计 张申勇,26,【例2-12】有一Oracle 9i数据源,数据库服务名为tuop,用户名为system,密码为manager,请写出实现打开此数据源连接的代码.conn;conn=new();conn.ConnectionString=user id=system;data source=tuop;password=manager;conn.Open();/此处放置处理oracle数据的代码conn.Close();,2.3.1 连接类的方法,2.3 管理连接类的方法和事件,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,27,【例2

19、-13】有一ACCESS数据源,数据文件为d:authors.mdb,请写出实现打开此数据源连接的代码.OleDbConnection conn;conn=new OleDbConnection();conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+Data Source=d:/authors.mdb;conn.Open();/此处放置处理ACCESS数据库的代码conn.Close();,2.3.1 连接类的方法,2.3 管理连接类的方法和事件,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,28,【例2-14】

20、有一SQL Server 2000数据库,服务器名为zhuos,现要打开此服务器上的Northwind数据库,用户名和密码都是sa,请用工具的方式建立连接对象并打开和关闭连接.这个例子可以分为两步来完成,第一步:建立连接对象,具体操作请参照例2-1,假设所建立的连接的对象名称为SqlConnection1。第二步,连接对象的打开和关闭打开连接对象请直接用代码:this.sqlConnection1.Open();关闭连接对象请直接用代码:this.sqlConnection1.Close();,2.3.1 连接类的方法,2.3 管理连接类的方法和事件,2023/8/2,数据库访问技术-ADO.

21、NET程序设计 张申勇,29,【例2-15】有一Oracle 9i数据源,数据库服务名为tuop,用户名为system,密码为manager请用工具的方式建立连接对象并打开和关闭连接这个例子也可以分为两步:第一步:建立连接对象,具本操作步骤请参照例2-7第二步:连接对象的打开与关闭打开连接对象请使用代码:this.OracleConnection1.Open();关闭连接对象请使用代码:this.OracleConnection1.Close();,2.3.1 连接类的方法,2.3 管理连接类的方法和事件,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,30,在Connect

22、ion类中,主要有两个事件,一是当连接状态发生改变时触发的StateChange事件,另一个是当连接对象返回一个警告或信息性消息时触发的InfoMessage事件,2.3.2 连接类的事件,2.3 管理连接类的方法和事件,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,31,【例2-16】:请通过连接对象的StateChange事件来获得它的状态信息。,2.3.2 连接类的事件,2.3 管理连接类的方法和事件,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,32,private void Form1_Load(object sender,System.Eve

23、ntArgs e)this.CenterToScreen();this.Text=连接状态改变示例;this.sqlConnection1.StateChange+=new System.Data.StateChangeEventHandler(this.conn_StateChange);private void conn_StateChange(object sneder,e)label1.Text=连接对象当前的状态是:+();label2.Text=连接对象原始的状态是:+();private void btnCloseConn_Click(object sender,System.E

24、ventArgs e)this.sqlConnection1.Close();=false;=true;private void btnOpenConn_Click(object sender,System.EventArgs e)this.sqlConnection1.Open();=true;=false;,2.3.2 连接类的事件,2.3 管理连接类的方法和事件,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,33,异常(Exception)是指在程序运行过程当中所遇到的不可预期的错误。异常是绝对的,不管你的程序编制的如何的好,都可能会因为在不同的环境等因素导致你的程序

25、出现异常,所以一个好的程序应该有好的异常处理措施,以确保用户在遇到异常时能知道如何去处理或寻求帮助。在ADO.NET中,程序设计的一般性异常可以通过异常类Exception来处理,同时ADO.NET为SQL Server提供了专用的结构化异常处理类SqlException,以及用于收集与SQL Server返回的警告或错误有关的信息的SqlError类。推荐在SQL编程的过程中使用SqlException类及SqlError类,因为这此类对错误的描述更为详细具体。,2.4 处理异常,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,34,在C#中处理程序运行的异常可以通过try

26、catchfinally语句来实现。其语法如下:try/可能会出现异常的代码catch(exception-declaration-1)/出现异常后进行的处理代码1 catch(exception-declaration-2)/出现异常后进行的处理代码2.finally/不管是否出现异常都需要执行的代码,2.4.1 结构化异常处理,2.4 处理异常,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,35,【例2-17】请写出打开数据源连接的异常处理代码。如图:,2.4.2 处理异常和消息事件,2.4 处理异常,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,3

27、6,private void button1_Click(object sender,System.EventArgs e)conn;conn=new();conn.ConnectionString=Initial Catalog=Northwind;+Data Source=zhuos;UID=sa;PWD=sa;try/可能会发生异常的代码conn.Open();catch(SqlE)/此处捕获的是特殊的异常/以下代码用于当产生SQL异常时需处理的语句MessageBox.Show(SqlE.ToString(),SqlError,MessageBoxButtons.OK,MessageB

28、oxIcon.Information);catch(System.Exception NormalE)/此处捕获的是一般性异常/以下代码用于当产生一般性异常时需处理的语句MessageBox.Show(NormalE.ToString(),NormalError,MessageBoxButtons.OK,MessageBoxIcon.Information);finally/此处是不管是否发生异常都需要处理的代码/不管是否发生异常都要关闭数据库的连接conn.Close();,2.4.2 处理异常和消息事件,2.4 处理异常,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,3

29、7,在数据的错误处理过程中还经常用到InfoMessage事件,当数据库服务器需要传递隐含的重要信息给用户时,将触发此事件在此事件中,我们可以通过如SqlError对象的相关属性返回由于此次错误的错误级别或错误信息在InfoMessage事件中,我们经常用到如下的语句用于提示此出错的错语信息和错误级别froeach(se in e.Errors)MessaeBox.Show(se.Message,”错误级别”+se.Class,MessageBoxButtons.OK,MessageBoxIcon.Information);,2.4.2 处理异常和消息事件,2.4 处理异常,2023/8/2,

30、数据库访问技术-ADO.NET程序设计 张申勇,38,连接池(Connection pool)是指保持连接活动的进程。它将同一连接字符串建立的连接放入到连接池中,可以在不重新建立连接的情况下再次使用此连接,从而大大减少了因重建连接所需要的各种资源。对于WEB程序而言,一般有大量的用户需要连接到数据源上,而这些用户所使用的连接字符串基本或完全相同,对于此种情况而言,连接池的使用十分重要,将能极大的减少资源的使用。,2.5 连接池,2.5.1 连接池简介,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,39,2.5.1 连接池简介,2.5 连接池,2023/8/2,数据库访问技术

31、-ADO.NET程序设计 张申勇,40,1禁用连接池SqlConnection conn=new SqlConnection();conn.ConnectionString=integrated security=True;initial catalog=northwind;+data source=myServer;pooling=False;2.指定连接池大小SqlConnection conn=new SqlConnection();conn.ConnectionString=integrated security=True;initial catalog=northwind;+data source=myServer;Min Pool Size=5;3.指定连接生存期SqlConnection conn=new SqlConnection();conn.ConnectionString=integrated security=True;initial catalog=northwind;+data source=myServer;Connection Lifetime=200;,2.5.2 控制连接池,2.5 连接池,2023/8/2,数据库访问技术-ADO.NET程序设计 张申勇,41,谢谢,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号