C#数据库编程之连接对象Connection使用详解.docx

上传人:牧羊曲112 文档编号:4883257 上传时间:2023-05-21 格式:DOCX 页数:5 大小:124.41KB
返回 下载 相关 举报
C#数据库编程之连接对象Connection使用详解.docx_第1页
第1页 / 共5页
C#数据库编程之连接对象Connection使用详解.docx_第2页
第2页 / 共5页
C#数据库编程之连接对象Connection使用详解.docx_第3页
第3页 / 共5页
C#数据库编程之连接对象Connection使用详解.docx_第4页
第4页 / 共5页
C#数据库编程之连接对象Connection使用详解.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《C#数据库编程之连接对象Connection使用详解.docx》由会员分享,可在线阅读,更多相关《C#数据库编程之连接对象Connection使用详解.docx(5页珍藏版)》请在三一办公上搜索。

1、在C#数据库编程中,Connection对象用来连接数据源,针对不同的数据库连接模式,Connection有以下三种形式:(1) SqlConnection该对象是专为连接Sql Server数据库而设计的(2) OleDbConnection该对象可以连接任何类型的数据库(3) OdbcConnection在具体学习内容之前,首先看一个例子,通过这个例子首先了解以下C#编写数据库应用程 序的方法。本例是从Access数据库中将学生的信息读取出来并打印在屏幕中。程序的源代码如下:首先引入需要的命名空间using System;using System.Data;using System.Dat

2、a.OleDb; /使用 OleDb 连接模式定义一个类class Studentstatic void Main()定义连接字符串,该连接字符串是使用OleDb连接模式连接Access数据库的方法stringconnString=provider=Microsoft.Jet.OleDb.4.0;DataSource=E:Lessonmydb.mdb;/定义连接对象OleDbConnection oConn = new OleDbConnection(connString);oConn.Open();/打开连接对象OleDbCommand oCmd = new OleDbCommand();

3、定义命令对象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方式读取数据Con

4、sole.WriteLine(t姓名:+ odr1.ToString(); 使用 odrint index方式读取数据 odr.Close(); /关闭数据读取器if (oConn.State != ConnectionState.Closed) 如果连接不是关闭状态则将连接关闭 oConn.Close();本程序的运行结果图示如下:名名名名名. Lr一Lr一Lr一 rE rE 姓姓姓姓姓.C:/j in d Qwssyste m 3 2c f d. exe号号号号号按学学学学学请续 继 0102030405意 任乐贺帅鑫晓永伟王王王边伊1、Connection对象的使用对于不同的数据库连接模

5、式,Connection对象具有不同的类形式:(1) SqlClient 连接模式对应的 Connection 形式为 SqlConnection(2) OleDb 连接模式对应的 Connection 形式为 OleDbConnection(3) Odbc 连接模式对应的 Connection 形式为 OdbcConnection2、Connection 的属性Connection 的常用属性有 ConnectionString、ConnectionTimeout、DataBase DataSource 和 State o(1) ConnectionString为连接字符串,用来获取或设置用

6、于打开数据库的字符串。(2) ConnectionTimeout 属性连接超时时间,用来获取在尝试建立连接时终止尝试,并生成错误之前所等待的时间。(3) DataBase 属性该属性用来获取当前数据库或链接打开后要使用的数据库名称。(4) DataSource 属性该属性用来设置要链接的数据源实例名称,如SQL Server的Local服务实例。(5) State 属性该属性是一个枚举值,用来指示当前数据库连接所处的状态。该属性为只读值。其取值有以 下几种:属性值具体含义Broken表示该连接与数据源已中断。只有当连接打开后再与数据库失去连接才会导致这种 情况。可以关闭处于这种状态的连接,然后

7、重新打开。Closed该链接是否处于关闭状态,如处于关闭状态,则其值为trueConnecting指示该连接是否正与数据源连接,如果是则其值为trueExecuting该连接对象正在执行数据库的操作命令Fetching该连接对象正在检索数据Open该连接处于打开状态3、Connection对象的方法不管是 SqlConnection、OleDbConnection,还是 OdbcConnection 都提供了下面两类方法:(1)构造方法Connection对象的构造方法有两种,一种是不带参数的构造方法,一种是带一个字符串类型 参数的构造方法。假设使用OleDb连接模式,则创建Connectio

8、n的方法为:OleDbConnection oConn = new OleDbConnection();oConn.ConnectionString=Provider=Microsoft.Jet.OleDb.4.0;DataSource=E:Lessonmydb.mdb;上面使用的没带参数的构造方法创建了 一个 OleDbConnection的一个实例oConn,并通过oConn的ConnectionString属性给出连接字符 串。或者使用下面的方法:string connString = Provider=Microsoft.Jet.OleDb.4.0; Data Source=E:Les

9、sonmydb.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;);即在创建连接实例的同时在

10、构造方法中直接使用连接字符 串给出参数的值。(2) Open 方法Open方法用于打开连接对象,其使用形式如下:oConn.Open();上面的例子中,oConn为创建的连接实例。(3) Close 方法Close方法用于关闭连接对象,其使用形式如下:oConn.Close();上面的例子中oConn为创建的连接实例。4、Connection对象的事件.NET Framework数据提供程序中的Connection对象有两个事件:InfoMessage和StateChange。(1) InfoMessage 事件当数据源中有警告或返回信息性消息时,将触发本事件,即数据源中存在不会引发异常的消

11、息。InfoMessage事件接收InfoMessageEventArgs对象,该对象主要有Source属性(发送消 息的数据提供程序)、Message属性(消息的描述)、ErrorCode (消息编码)、Errors对象(包 含Count错误数量属性)。(2) StateChange 事件StateChange事件在Connection对象的状态发生改变时触发。可以使用事件的 StateChangeEventArgs参数中的OriginalState和CurrentState属性获取原状态信息和当前状态 信息。下面使用一个例子来说明上面的知识点:using System;using Syst

12、em.Data;using System.Data.OleDb;class TestConnectionstatic void Main()stringconnString=provider=Microsoft.Jet.OleDb.4.0;DataSource=E:Lessonmydb.mdb;OleDbConnection oConn = new OleDbConnection(connString);预定连接对象状态发生改变时的处理程序oConn.StateChange += new StateChangeEventHandler(oConn_StateChange);预定InfoMess

13、age事件处理程序oConn.InfoMessage += new OleDbInfoMessageEventHandler(oConn_InfoMessage);oConn.Open();/ 打开连接Console.WriteLine(打开连接后连接对象的信息);Console.WriteLine(连接对象的当前状态为:+ oConn.State);Console.WriteLine(连接字符串为:+ oConn.ConnectionString);Console.WriteLine(连接对象的数据源为:+ oConn.DataSource);Console.WriteLine(连接对象的数

14、据库为:+ 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.Wr

15、iteLine(n 连接对象的当前状态为:+ oConn.State);/StateChange事件处理程序static void oConn_StateChange(object sender, StateChangeEventArgs e)Console.WriteLine(StateChange);Console.WriteLine(提示:连接 对象状态发生改变由0变为1。, e.OriginalState, e.CurrentState);/InfoMessage事件处理程序static void oConn_InfoMessage(object sender, OleDbInfoMessageEventArgs e)Console.WriteLine(InfoMessage);Console.WriteLine(数据源返回的信息:+ e.Message);Console.WriteLine(返回信息的对象名称:+ e.Source);运行结果如下:本文由 转载

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号