ASP.NET 核心技术 | ADO.NET 使用Connection对象链接数据库

本文深入探讨ADO.NET中Connection对象的应用,涵盖SqlConnection与OleDbConnection两大核心对象,详解连接SQL Server与Excel数据源的过程与状态读取。通过实例演示,帮助读者掌握不同数据源的连接技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1、Connection对象简介

ADO.NET对象模型中,Connection对象代表了与数据源的连接,当连接到数据源时,首先选择一个.NET数据提供程序,数据提供程序包含一些操作类,使用这些类可以连接不同的数据源,以下四种数据提供程序的连接对象。

  • SQL Server .NET 数据提供程序的SqlConnection对象
  • OLE DB .NET 数据提供程序的OleDbConnection对象
  • ODBC .NET 数据提供程序的OdbcConnection对象
  • Oracle .NET 数据提供程序的OracleConnection对象

2、四大连接对象的数据源连接范围

数据存储包含以下格式:数据库XML文件文本文件AccessExcel等,对于这些多样化的数据源为了能够进行统一的管理,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 += "&nbsp;&nbsp;&nbsp;准备打开,状态:" + con.State.ToString() + "<br>";
            con.Open();
            res += "&nbsp;&nbsp;&nbsp;已经打开,状态:" + 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;
        }
    }
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值