ADO.NET 二(Connection)

  C# 语言中 Connection 类是 ADO.NET 组件连接数据库时第一个要使用的类,也是通过编程访问数据库的第一步。

  接下来了解一下 Connection 类中的常用属性和方法,以及如何连接 SQL Server 数据库。

  Connection 类概述

  Connection 类根据要访问的数据和访问方式不同,使用的命名空间也不同,类名也稍有区别,在这里我们使用的是 SqlConnection 类,以及微软提供的MSSQLSERVER数据库。

  SqlConnection 类中提供的常用属性和方法如下表所示。

属性或方法 说明
SqlConnection() 无参构造方法
SqlConnection(string connectionstring) 带参数的构造方法,数据库连接字符串作为参数
Connectionstring 属性,获取或设置数据库的连接串
State 属性,获取当前数据库的状态,由枚举类型 Connectionstate 为其提供值
ConnectionTimeout 属性,获取在尝试连接时终止尝试并生成错误之前所等待的时间
DataSource 属性,获取要连接的 SQL Server 的实例名
Open() 方法,打开一个数据库连接
Close() 方法,关闭数据库连接
BeginTransaction() 方法,开始一个数据库事务

  使用 Connection 类连接数据库

  数据库连接串的书写方法有很多,这里介绍两种常用的方法。

  第1种方式

  server = 服务器名称 / 数据库的实例名 ; uid = 登录名 ; pwd = 密码 ; database = 数据库名称

其中:

  • server:用于指定要访问数据库的数据库实例名,服务器名称可以换成 IP 地址或者数据库所在的计算机名称,如果访问的是本机数据库,则可以使用“.”来代替,如果使用的是默认的数据库实例名,则可以省略数据库实例名。例如连接的是本机的默认数据库,则可以写成“server = .”。
  • uid:登录到指定 SQL Server 数据库实例的用户名,相当于以 SQL Server 身份验证方式登录数据库时使用的用户名,例如 sa 用户。
  • pwd:与 uid 用户对应的密码。
  • database:要访问数据库实例下的数据库名。

  第2种方式

  Data Source = 服务器名称 \ 数据库实例名 ; Initial Catalog = 数据库名称 ; User ID = 用户名 ; Password = 密码

其中:

  • Data Source:与第1种连接串写法中的 server 属性的写法一样,用于指定数据库所在的服务器名称和数据库实例名,如果连接的是本机的默认数据库实例,则写成“Data Source=. ”的形式。
  • Initial Catalog:与第 1 种连接串写法中的 database 属性的写法一样,用于指定在 Data Source 中数据库实例下的数据库名。
  • User ID:与第 1 种连接串写法中的 uid 属性的写法一样,用于指定登录数据库的用户名。
  • Password:与第 1 种连接串写法中的 pwd 属性的写法一样,用于指定 User ID 用户名所对应的密码。

  此外,还可以在连接字符串中使用 Integrated Security = True 的属性,省略用户名和密码,即以 Windows 身份验证方式登录 SQL Server 数据库。

  将数据库连接更改如下:

  Data Source = 服务器名称 \ 数据库实例名 ; Initial Catalog = 数据库名称 ; Integrated Security = True

  需要注意的是,由于在使用 Windows 身份验证的方式登录数据库时,会对数据库的安全性造成一定的影响,自己练习时则无需考虑,实际开发中建议使用 Windows 身份验证的方法,而是使用 SQL Server 验证方式登录数据库,即指定用户名和密码。

  1) 创建 SqlConnection 类的实例

  对于 SqlConnection 类来说,上表中提供了两个构造方法,通常是使用带一个字符串参数的构造方法来设置数据库的连接串创建其实例,语句形式如下。

  SqlConnection 连接对象名 = new SqlConnection( 数据库连接串 );

  2) 打开数据库连接

  在创建 SqlConnection 连接类的实例后并没有连接上数据库,需要使用连接类的 Open 方法打开数据库的连接。

  在使用 Open 方法打开数据库连接时,如果数据库的连接串不正确或者数据库的服务处于关闭状态,会出现打开数据库失败的相关异常,因此需要通过异常处理来处理异常。

  打开数据库连接的语句形式如下。

  连接对象名.Open();

  3) 关闭数据库连接

  在对数据库的操作结束后要将数据库的连接断开,以节省数据库连接的资源。

  关闭数据库连接的语句形式如下。

  连接对象名.Close();

  如果在打开数据库连接时使用了异常处理,则将关闭数据库连接的语句放到异常处理的 finally 语句中,这样能保证无论是否发生了异常都将数据库连接断开,以释放资源。

  除了使用异常处理的方式释放资源外,还可以使用 using 的方式释放资源。

  具体的语句如下。

  using(SqlConnection 连接对象名 = new SQLConnection( 数据库连接串 ))
  {
      //打开数据库连接
      //对数据库先关操作的语句
  }

  using 关键字的用法主要有两个,一个是引用命名空间,一个是创建非托管资源对象。

  在 .NET 平台上资源分为托管资源和非托管资源,托管资源是由 .NET 框架直接提供对其资源在内存中的管理,例如声明的变量;非托管资源则不能直接由 .NET 框架对其管理,需要使用代码来释放资源,例如数据库资源、操作系统资源等。

  具体实例代码

  ........

  http://c.biancheng.net/view/3010.html

原文地址:https://www.cnblogs.com/lu-yuan/p/11381307.html

时间: 2024-10-09 06:15:38

ADO.NET 二(Connection)的相关文章

ADO.NET (二)—— ADO和ADO .NET对比

ADO.NET (二)-- ADO和ADO .NET对比 我们知道ADO.NET的两大核心组件分别是Data Provider和DataSet.如果说 DataSet是ADO.NET的心脏,那么Data Provider绝对是ADO.NET的左臂右膀. Data Provider提供了访问外部数据数据源的可能性,而且外部的数据源是多样的.本 文将详细说明.NET数据提供程序的作用以及如何访问不同的数据源. 详情细看<ADO.NET技术>             对ADO和ADO.NET的详细比

我与ADO.NET二三事(2)

继上篇开始,这里主要再次精简.因为大家已经熟悉了主要思想以及它的工作方式.那么这里提供的案例改动会很大.上篇的DatabaseCommand***均是为了大家能够轻松的理解所临时编写的.这次提供的接口会有很大变动,以及会有一些新的内容,比如执行Reader是修改的Connection状态,同时不上没有提供异步功能的案例.我将一步一步的带领大家走入. 1.NoCountModel 1 public enum NoCountModel 2 { 3 /// <summary> 4 /// 默认当前连

我与ADO.NET二三事

  天气渐冷,闲来无事就把业余时间自己使用的数据访问库凉一凉.这个库本人自己使用了2年多,主要用于个人学习时需要操作数据库时使用,非组织和商业性质的使用.记得上学的时候,在网络上看到SqlServerHelper操作ADO.NET甚方便,一下子就着了迷不管学习还是工作都会带上这个Class,甚至我的U盘里面也会存上这个Class,哈哈.随着工作经验和沿街的开阔,我渐渐的有了自己的ADO.NET操作习惯以及封装使用方式.因此就写了Basic.Data.dll,言归正传. 1.Database:主要

ADO.NET(Connection、DataSet)查询实例大全

ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在以往的Microsoft技术中访问数据.之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在NET编程环境中优先使用的数据访问接口. 传统的资料处理主要是依赖相互连接的双层式模型.随着资料处理朝多层次架构发展,程式设计人员也逐渐改用中断连接的方式,使应用程序更具延展性(Scalability).ADO .NET3.0 中用于存取和管理资料的两个主要元件是 .NET Frame

Ado.net总结-Connection(武器库地址)

Connection Connection概述 SqlConnection 类中提供的常用属性和方法如下表所示: 属性或方法 说明 SqlConnection() 无参构造方法 SqlConnection(string connectionstring) 带参数的构造方法,数据库连接字符串作为参数 Connectionstring 属性,获取或设置数据库的连接串 State 属性,获取当前数据库的状态,由枚举类型 Connectionstate 为其提供值 ConnectionTimeout 属

ADO.NET——使用Connection连接数据库,使用DataReader访问数据库并返回多行数据

使用Connection连接数据库,使用DataReader访问数据库,并返回多行数据. 相关步骤: 需要引入两个命名空间 using System.Data; using System.Data.SqlClient; 使用DataReader访问数据库的步骤 创建SqlConnection对象,指定连接字符串 创建SqlCommand对象,指定与之相关的连接对象,以及数据库操作命令文本(CommandText) 打开连接 调用SqlCommand对象的ExecuteReader()方法,返回S

Oracle+Ado.Net(二)

功能添加: 在BaseDal中添加了公共的新增,更新功能; 在Model层中添加以下代码: /// <summary>        /// 标识自增长        /// </summary>        private bool isAutoId = true; public bool IsAutoId        {            get { return isAutoId; }            set { isAutoId = value; }     

浅谈ADO.NET中的对象——Connection、Command、DataReader、DataAdapter、DataSet、DataTable

可能是当初没有好好总结的缘故,学习.NET以来,对ADO.NET中的对象一直有些模糊,今天重新回顾了一下,通过查资料,总结,结合自己的观点整理一下ADO.NET中Connection.Command.DataReader.DataAdapter. DataSet.DataTable这几个对象的相关知识,希望对初学者能起到一个全局把控的作用,希望大牛能留下宝贵的指导意见. 以下的例子仅以连接 SQL Server数据库为例,所以分别以SqlConnection.SqlCommand.SqlData

数据库和ado

数据库和ADO 数据库语言 数据库的简易流程(数据库客户端软件和数据库服务软件的执行流程) 主键的概念 如何创建主键 如何创建外键 主外键关系的概念以及使用 数据库的主要类型 数据库的主要数据类型 使用SQL语句来创建数据库和表 约束分类 top的使用 Distinct的使用(去除重复数) 聚合函数 聚合函数注意事项 between and 和 in 的使用 like, not like 通配符(%,_,[],^) 空值处理:null 是什么? 排序(order by id asc / desc