这些年来工作中的开发工作主要集中在用代码处理业务层面,对数据库的操作一直是用的原来项目沿用下来的数据层。这次由于要想在项目中使用Dapper.NET,所以系统学习了下ADO.NET,并对知识点做了相应的整理。本篇近限于原始的方式,不包括后来的LINQ和实体框架。
1、ADO.NET的发展历程:
ADO.NET基本跟随着.NET Framework的版本更新,大致如下:
- .NET Framework 2.0 形成了现有的ADO.NET中直接访问数据源的组件。
- .NET Framework 3.5 新增 SqlClient 对 SQL Server 2008 的支持、 LINQ to DataSet 、 LINQ to SQL 和 Entity Framework
- .NET Framework 4 对Entity Framework增加了功能
- .NET Framework 4.5 对SQL Server 的 .NET Framework 数据提供程序新增了功能,同时发布 Entity Framework 5.0
2、ADO.NET中直接访问数据源的组件包括两个部分:
- .NET Framework 提供的程序,其中有4个核心对象:
- Connection:建立与特定数据源的连接。所有 Connection 对象的基类均为 DbConnection 类。
- Command:对数据源执行命令。公开 Parameters,并可在 Transaction 范围内从 Connection 执行。所有 Command 对象的基类均为 DbCommand类。
- DataReader:从数据源中读取只进且只读的数据流。所有 DataReader 对象的基类均为 DbDataReader 类。
- DataAdapter:使用数据源填充 DataSet 并解决更新。所有 DataAdapter 对象的基类均为 DbDataAdapter 类。
- DataSet,其中包括:
- DataTable
- DataRelation
这两部分的连接在DataAdapter。DataSet和DataTable用DataAdapter的Fill方法来填充。
3. 对数据库操作的方法
- 查询(SELECT)
- 单个值:通过 Command 的 ExecuteScalar 方法。
- 数据集:
- 通过 DataAdapter 的 Fill 方法来填充DataSet或DataTable
- 通过 Command 的 ExecuteReader 方法返回 DataReader 来检索只读数据流。
- 不返回任何行的操作(INSERT,UPDATE,DELETE)
- 通过Command的 ExecuteNonQuery。该方法返回受影响行的行数。
- DataAdapter的UpdateCommand、InsertCommand、DeleteCommand。
- 对数据库进行修改(CREATE TABLE、CREATE PROCEDURE、DROP TABLE等)
- 通过 Command 的 ExecuteNonQuery 方法。
4. 对操作添加参数
- Command:Command.Parameters.Add 方法
- DataAdapter:DataAdapter.Paramters.Add 方法
时间: 2024-12-09 19:30:50