文章目录
1、Connection对象简介
在ADO.NET
对象模型中,Connection
对象代表了与数据源的连接,当连接到数据源时,首先选择一个.NET
数据提供程序,数据提供程序包含一些操作类,使用这些类可以连接不同的数据源,以下四种数据提供程序的连接对象。
- SQL Server .NET 数据提供程序的
SqlConnection
对象 - OLE DB .NET 数据提供程序的
OleDbConnection
对象 - ODBC .NET 数据提供程序的
OdbcConnection
对象 - Oracle .NET 数据提供程序的
OracleConnection
对象
2、四大连接对象的数据源连接范围
数据存储包含以下格式:数据库
、XML文件
、文本文件
、Access
、Excel
等,对于这些多样化的数据源为了能够进行统一的管理,Connection
对象提供了四个连接数据的对象,每个对象分别实现不同的数据源管理:
SqlConnection
对象:是专为连接到SQL Server
数据库而设计的OleDbConnection
对象:通过指定的数据源支持组件可以连接到任何数据库或文件OdbcConnection
对象:支持任何在Windows
中配置好的ODBC
连接,包括SQL Server、Sybase、Oracle
数据库等OracleConnection
对象:是专为连接到Oracle
数据库而设计的
3、SqlConnection连接SQL Server数据库——连接数据库并读取连接状态
在对数据库进行任何操作钱,都要先建立与数据库的连接。在使用SqlConnection
类之前必须对其进行实例化,其语法格式如下:
Sql Server
身份验证语句:
SqlConnection con = new SqlConnection("Server=服务器名;User Id=用户;Pwd=密码;DataBase=数据库名称");
Windows
身份验证语句:
SqlConnection con = new SqlConnection("Server=服务器名;DataBse=数据库名称;Trusted_Connection=SSPI");
SqlConnection
对象的常用属性及说明如下表所示:
属性 | 说明 |
---|---|
ConnectionString |
获取或设置用于打开SQL Server 数据库的字符串 |
ConnectionTimeout |
获取在尝试建立连接时终止尝试并生成错误之前所等待的时间 |
State |
指示SqlConnection 的连接状态:关闭、打开、正在连接、正在执行命令、已中断 |
SqlConnection
对象常用方法及说明,如下表所示:
方法 | 说明 |
---|---|
Open |
打开数据库连接,所打开的数据库由ConnectionString 属性或构造方法中配置的连接字符串绝定 |
Close |
关闭数据库的连接,关闭后可以再次执行Open 方法来打开数据库连接 |
Dispose |
释放连接资源,释放之后不可再执行Open 方法 |
CreateCommand |
创建并返回一个与SqlConnection 关联的SqlCommand 对象 |
通过一个例子来展示一下SqlConnection
是怎么使用的,这个例子就是——连接数据库并读取连接状态
首先创建一个网站,新建一个网页作为起始页。
在连接数据库之前,需要引用命名空间System.Data.SqlClient
在起始页.aspx,cs
中写代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient; //引入的命名空间
namespace SqlConnection连接数据库并读取连接状态
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string res = ConnectToSql();
Response.Write(res);
}
private string ConnectToSql()
{
string res = "";
string SqlStr = "Server=DESKTOP-9FCSCD4;DataBase=ReportServer;Trusted_Connection=SSPI"; //创建与数据库连接的字符串
SqlConnection con = new SqlConnection(SqlStr);
//拼接打开前的状态说明
res += " 准备打开,状态:" + con.State.ToString() + "<br>";
con.Open();
res += " 已经打开,状态:" + con.State.ToString() + "<br>";
con.Close();
return res;
}
}
}
大功告成!效果如下:
4、OleDbConnection对象连接OLE DE数据源——连接EXCEL并读取状态
OLE DB
数据源包含具有OLE DB
驱动程序的任何数据源,如Sql Server、Access、Excel、Oracle
等。OLE DB
数据源连接字符串必须提供Provide
属性及其值。
在使用该对象前必须将其实例化,语法如下:
OleDbConnection myConn = new OleDbConnection("Provide=提供者";Data Source = 文件路径");
下表是OleDbConnection
对象常用的属性及说明:
属性 | 说明 |
---|---|
ConnectionString |
获取或设置打开数据源的字符串 |
Provider |
操作数据源数据的组件程序 |
ConnectionTimeout |
获取在尝试建立连接时终止尝试并生成错误之前所等待的时间 |
State |
指示当前连接数据源的状态:关闭、打开、正在连接、正在执行命令和已中断 |
下表是OleDbConnection
对象常用的方法及说明:
方法 | 说明 |
---|---|
Open |
打开数据源连接,所打开的数据源由ConnectionString 属性或构造方法中配置的字符串连接决定 |
Close |
关闭数据源连接,关闭后可以再次使用Open 打开数据源 |
DisPose |
释放连接资源,释放后不可以再使用Open 方法 |
CreateCommand |
创建并返回一个与该OleDbConnection 关联的OleDbCommand 对象 |
例子:连接EXCEL
并读取连接状态
首先创建一个网站,并创建一个起始页。
使用OleDb
连接数据源需要引用命名空间System.Data.OleDb
然后写代码:
using System;
using System.Collections.Generic;
using System.Data.OleDb;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace OleDbConnection连接EXCEL
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string res = ConnectToExcel(Server.MapPath("Excel/Test.xlsx"));
Response.Write(res);
}
private string ConnectToExcel(string ExcelPath)
{
string res = "";
string ConnectStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
ExcelPath + ";Extended Properties=\"Excel 12.0;HDR=NO;IMEX=0\"";
OleDbConnection con = new OleDbConnection(ConnectStr);
res += "准备打开,状态" + con.State.ToString() + "<br>";
con.Open();
res += "已经打开,状态" + con.State.ToString() + "<br>";
con.Close();
con.Dispose(); //释放
return res;
}
}
}