1、概述 ado.net提供了丰富的数据库操作,这些操作可以分为三个步骤: 第一,使用SqlConnection对象连接数据库; 第二,建立SqlCommand对象,负责SQL语句的执行和存储过程的调用; 第三,对SQL或存储过程执行后返回的“结果”进行操作。 对返回“结果”的操作可以分为两类: 一是用SqlDataReader直接一行一行的读取数据集; 二是DataSet联合SqlDataAdapter来操作数据库。 两者比较: SqlDataReader时刻与远程数据库服务器保持连接,将远程的数据通过“流”的形式单向传输给客户端,它是“只读”的。由于是直接访问数据库,所以效率较高,但使用起来不方便。 DataSet一次性从数据源获取数据到本地,并在本地建立一个微型数据库(包含表、行、列、规则、表之间的关系等),期间可以断开与服务器的连接,使用SqlDataAdapter对象操作“本地微型数据库”,结束后通过SqlDataAdapter一次性更新到远程数据库服务器。这种方式使用起来更方,便简单。但性能较第一种稍微差一点。(在一般的情况下两者的性能可以忽略不计。) SQL Server 是一种流行的数据库管理系统,尤其在企业级应用中广泛使用。ADO.NET 是 .NET Framework 提供的一个组件,用于高效地处理与SQL Server等数据库的交互。在使用ADO.NET进行数据库操作时,主要分为三个步骤: 1. **建立连接**:我们需要使用 `SqlConnection` 对象来连接到数据库。这通常涉及到提供一个连接字符串,其中包含了服务器地址(Data Source)、数据库名(Initial Catalog)、用户名(User ID)和密码(Password)。连接字符串的格式可以根据不同的认证方式有所变化,例如使用Windows集成安全(Integrated Security)或指定用户名和密码。 - 如果使用Windows集成安全,`Integrated Security` 设置为 `True` 或 `SSPI`,则系统会使用当前用户的Windows凭证进行身份验证。 - `Trusted_Connection` 是 `Integrated Security` 的别名,同样控制是否使用Windows身份验证。 2. **执行命令**:接着,创建 `SqlCommand` 对象,该对象用于执行SQL语句或调用存储过程。你可以通过设置 `SqlCommand` 的 `CommandText` 属性来指定要执行的SQL语句,然后使用 `ExecuteReader()` 或 `ExecuteNonQuery()` 方法来执行命令。 3. **处理结果**:操作返回的结果。有两种主要方式: - **SqlDataReader**:这是一种只进的、轻量级的游标,它能立即从数据库读取数据。因为始终保持着与数据库的连接,所以它的效率较高,适合大量数据的连续读取,但不支持数据修改。 - **DataSet 和 SqlDataAdapter**:DataSet是内存中的数据集合,它可以断开与数据库的连接,提供离线数据操作的能力。通过SqlDataAdapter,可以从数据库填充DataSet,或者将DataSet中的更改同步回数据库。这种方式更加灵活,但因为涉及数据的来回传输,其性能可能略低于SqlDataReader。 在C#中,我们还可以使用 `SqlConnectionStringBuilder` 类来构建连接字符串,使得代码更加清晰且易于维护。例如: ```csharp SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder(); scsb.DataSource = @"(local)\SQLExpress"; scsb.IntegratedSecurity = true; scsb.InitialCatalog = "Northwind"; SqlConnection myConnection = new SqlConnection(scsb.ConnectionString); ``` 此外,对于嵌入式设备或移动应用,如Windows CE,连接字符串可能需要包括用户名和密码,以适应不同的身份验证环境。 总结来说,SQL Server与ADO.NET的结合为开发者提供了强大且灵活的数据库操作手段,无论是简单的查询还是复杂的事务处理,都能通过这三个步骤有效地完成。在选择处理结果的方式时,应根据应用需求平衡性能和易用性。
- 粉丝: 3
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 毕业设计《基于Python的南京二手房数据采集及可视化分析》+项目源码+文档说明
- 毕业设计《基于Springboot+Vue+Python深度神经网络学习算法水质管理预测》+项目源码+文档说明
- PLC项目 5号卸垛机.mwp
- 基于 nodejs+SQL server 实现的学生-教师评价系统课程设计
- PLC项目程序 2号卸笼.gxw
- BZ-00-03 C008053 SAP2000 刚性连接转换
- java图书管理微信小程序源码数据库 MySQL源码类型 WebForm
- Qt QChart绘制跟随鼠标的十字线
- Baidunetdisk_AndroidPhone_1023843j-1.apk
- PLC 程序 2号卸垛AD778899.gxw