C#数据库编程之连接对象Connection使用详解.doc_第1页
C#数据库编程之连接对象Connection使用详解.doc_第2页
C#数据库编程之连接对象Connection使用详解.doc_第3页
C#数据库编程之连接对象Connection使用详解.doc_第4页
C#数据库编程之连接对象Connection使用详解.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在C#数据库编程中,Connection对象用来连接数据源,针对不同的数据库连接模式,Connection有以下三种形式:(1)SqlConnection 该对象是专为连接Sql Server数据库而设计的(2)OleDbConnection 该对象可以连接任何类型的数据库(3)OdbcConnection在具体学习内容之前,首先看一个例子,通过这个例子首先了解以下C#编写数据库应用程序的方法。本例是从Access数据库中将学生的信息读取出来并打印在屏幕中。程序的源代码如下:/首先引入需要的命名空间using System;using System.Data;using System.Data.OleDb; /使用OleDb连接模式/定义一个类class Student static void Main() /定义连接字符串,该连接字符串是使用OleDb连接模式连接Access数据库的方法 string connString = provider=Microsoft.Jet.OleDb.4.0;Data Source=E:Lessonmydb.mdb; /定义连接对象 OleDbConnection oConn = new OleDbConnection(connString); oConn.Open();/打开连接对象 OleDbCommand oCmd = new OleDbCommand(); /定义命令对象 oCmd.CommandText = SELECT * FROM student;/指定命令对象的命令文本 oCmd.Connection = oConn; /指定命令对象使用的连接 OleDbDataReader odr; /定义数据读取器 odr = oCmd.ExecuteReader(); /执行命令对象,并用odr指向结果集 if (odr != null) /如果odr不为空 while (odr.Read() /调用数据读取器的Read方法读取一条数据 Console.Write(学号: + odrsid.ToString(); /使用odrstring name方式读取数据 Console.WriteLine(t姓名: + odr1.ToString(); /使用odrint index方式读取数据 odr.Close(); /关闭数据读取器 if (oConn.State != ConnectionState.Closed) /如果连接不是关闭状态则将连接关闭 oConn.Close(); 本程序的运行结果图示如下:1、Connection对象的使用对于不同的数据库连接模式,Connection对象具有不同的类形式:(1)SqlClient连接模式对应的Connection形式为SqlConnection(2)OleDb连接模式对应的Connection形式为OleDbConnection(3)Odbc连接模式对应的Connection形式为OdbcConnection2、Connection的属性Connection的常用属性有ConnectionString、ConnectionTimeout、DataBase、DataSource和State。(1)ConnectionString为连接字符串,用来获取或设置用于打开数据库的字符串。(2)ConnectionTimeout属性连接超时时间,用来获取在尝试建立连接时终止尝试,并生成错误之前所等待的时间。(3)DataBase属性该属性用来获取当前数据库或链接打开后要使用的数据库名称。(4)DataSource属性该属性用来设置要链接的数据源实例名称,如SQL Server的Local服务实例。(5)State属性该属性是一个枚举值,用来指示当前数据库连接所处的状态。该属性为只读值。其取值有以下几种:属性值具体含义Broken表示该连接与数据源已中断。只有当连接打开后再与数据库失去连接才会导致这种情况。可以关闭处于这种状态的连接,然后重新打开。Closed该链接是否处于关闭状态,如处于关闭状态,则其值为trueConnecting指示该连接是否正与数据源连接,如果是则其值为trueExecuting该连接对象正在执行数据库的操作命令Fetching该连接对象正在检索数据Open该连接处于打开状态3、Connection对象的方法不管是SqlConnection、OleDbConnection,还是OdbcConnection都提供了下面两类方法:(1)构造方法Connection对象的构造方法有两种,一种是不带参数的构造方法,一种是带一个字符串类型参数的构造方法。假设使用OleDb连接模式,则创建Connection的方法为:OleDbConnection oConn = new OleDbConnection( );oConn.ConnectionString = Provider=Microsoft.Jet.OleDb.4.0; Data Source=E:Lessonmydb.mdb;上面使用的没带参数的构造方法创建了一个OleDbConnection的一个实例oConn,并通过oConn的ConnectionString属性给出连接字符串。或者使用下面的方法:string connString = Provider=Microsoft.Jet.OleDb.4.0; Data Source=E:Lessonmydb.mdb;OleDbConnection oConn = new OleDbConnection(connString);上面的例子中首先定义了一个连接字符串connString,在创建OleDbConnection实例oConn时直接将connString作为OleDbConnection构造方法的参数。或者也可以使用下面的方法:OleDbConnection oConn = new OleDbConnection(Provider=Microsoft.Jet.OleDb.4.0; Data Source=E:Lessonmydb.mdb;);即在创建连接实例的同时在构造方法中直接使用连接字符串给出参数的值。(2)Open方法Open方法用于打开连接对象,其使用形式如下:oConn.Open( );上面的例子中,oConn为创建的连接实例。(3)Close方法Close方法用于关闭连接对象,其使用形式如下:oConn.Close( );上面的例子中oConn为创建的连接实例。4、Connection对象的事件.NET Framework数据提供程序中的Connection对象有两个事件:InfoMessage和StateChange。(1)InfoMessage事件当数据源中有警告或返回信息性消息时,将触发本事件,即数据源中存在不会引发异常的消息。InfoMessage事件接收InfoMessageEventArgs对象,该对象主要有Source属性(发送消息的数据提供程序)、Message属性(消息的描述)、ErrorCode(消息编码)、Errors对象(包含Count错误数量属性)。(2)StateChange事件StateChange事件在Connection对象的状态发生改变时触发。可以使用事件的StateChangeEventArgs参数中的OriginalState和CurrentState属性获取原状态信息和当前状态信息。下面使用一个例子来说明上面的知识点:using System;using System.Data;using System.Data.OleDb;class TestConnection static void Main() string connString = provider=Microsoft.Jet.OleDb.4.0;Data Source=E:Lessonmydb.mdb; OleDbConnection oConn = new OleDbConnection(connString); /预定连接对象状态发生改变时的处理程序 oConn.StateChange += new StateChangeEventHandler(oConn_StateChange); /预定InfoMessage事件处理程序 oConn.InfoMessage += new OleDbInfoMessageEventHandler(oConn_InfoMessage); oConn.Open();/打开连接 Console.WriteLine(-打开连接后连接对象的信息-); Console.WriteLine(连接对象的当前状态为: + oConn.State); Console.WriteLine(连接字符串为: + oConn.ConnectionString); Console.WriteLine(连接对象的数据源为: + oConn.DataSource); Console.WriteLine(连接对象的数据库为: + oConn.Database.ToString(); Console.WriteLine(连接对象的超时时间为: + oConn.ConnectionTimeout + 秒); Console.WriteLine(连接对象的数据提供者为: + oConn.Provider); Console.WriteLine(连接对象的为数据提供者版本为: + oConn.ServerVersion); if (oConn.State != ConnectionState.Closed) /关闭连接 oConn.Close(); Console.WriteLine(-关闭连接后连接对象的状态-); Console.WriteLine(n连接对象的当前状态为: + oConn.State); /StateChange事件处理程序 static void oConn_StateChange(object sender, StateChangeEventArgs e) Console.WriteLine(-StateChange-); Console.WriteLine(提示:连接对象状态发生改变由0变为1。, e.OriginalState, e.CurrentState); /InfoMessage事件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论