ADO.NET 一(概述)
在 C# 语言中 ADO.NET 是在 ADO 的基础上发展起来的,ADO (Active Data Object) 是一个 COM 组件类库,用于访问数据库,而 ADO.NET 是在 .NET 平台上访问数据库的组件。
ADO.NET 是以 ODBC (Open Database Connectivity) 技术的方式来访问数据库的一种技术。
ADO.NET 中的常用命名空间如下表所示。
| 命名空间 | 数据提供程序 |
|---|---|
| System.Data.SqlClient | Microsoft SQL Server |
| System.Data.Odbc | ODBC |
| System.Data.OracleClient | Oracle |
| System.Data.OleDb | OLE DB |
在使用 ADO.NET 进行数据库操作时通常会用到 5 个类,分别是 Connection 类、 Command 类、DataReader 类、DataAdapter 类、DataSet 类。
在接下来的讲解中我们将以连接 SQL Server 为例介绍 ADO.NET 中的对象,引用的命名空间为 System.Data.SqlClient。
除了 DataSet 类以外,其他对象的前面都加上 Sql,即 SqlConnection、SqlCommand、SqlDataReader、SqlDataAdapter。
1) Connection 类
该类主要用于数据库中建立连接和断开连接的操作,并且能通过该类获取当前数据库连接的状态。
使用 Connection 类根据数据库的连接串能连接任意数据库,例如 SQLServer、Oracle、MySQL 等。
但是在 .NET 平台下,由于提供了一个 SQL Server 数据库,并额外提供了一些操作菜单便于操作,所以推荐使用 SQLServer 数据库。
2) Command 类
该类主要对数据库执行增加、删除、修改以及查询的操作。
通过在 Command 类的对象中传入不同的 SQL 语句,并调用相应的方法来执行 SQL 语句。
3) DataReader 类
该类用于读取从数据库中查询出来的数据,但在读取数据时仅能向前读不能向后读, 并且不能修改该类对象中的值。
在与数据库的连接中断时,该类对象中的值也随之被清除。
4) DataAdapter 类
该类与 DataSet 联用,它主要用于将数据库的结果运送到 DataSet 中保存。
DataAdapter 可以看作是数据库与 DataSet 的一个桥梁,不仅可以将数据库中的操作结果运送到 DataSet 中,也能将更改后的 DataSet 保存到数据库中。
5) DataSet 类
该类与 DataReader 类似,都用于存放对数据库查询的结果。
不同的是,DataSet 类中的值不仅可以重复多次读取,还可以通过更改 DataSet 中的值更改数据库中的值。
此外,DataSet 类中的值在数据库断开连接的情况下依然可以保留原来的值。
http://c.biancheng.net/view/3004.html
ADO.NET 一(概述)的更多相关文章
- Visual C++2010开发权威指南 中文高清PDF - VC.NET
第一部分 Visual C++ 2010开发与新特性第1章 Visual C++ 2010开发环境简介 11.1 Visual C++ 2010简介 11.2 Visual C++ 2010下 ...
- Entity Framework 学习总结之一:ADO.NET 实体框架概述
http://www.cnblogs.com/xlovey/archive/2011/01/03/1924800.html ADO.NET 实体框架概述 新版本中的 ADO.NET 以新实体框架为特色 ...
- ADO.NET 快速入门(一):ADO.NET 概述
ADO.NET 概述 ADO.NET是改进的ADO数据访问模型用于开发可扩展应用程序.他是专门为可伸缩性.无状态和XML核心的web而设计的. ADO.NET使用一些ADO对象,如Connecti ...
- LINQ系列:LINQ to ADO.NET概述
LINQ to ADO.NET 包括两种独立的技术: LINQ to DataSet 和 LINQ to SQL. 使用 LINQ to DataSet 可以对DataSet 执行丰富而优化的查询,而 ...
- ADO.NET概述
xml这类文件它是.net变成环境中优先使用的数据访问借口. ADO.NET传输的数据都是XML格式的 ADO.NET是一组用于和数据源惊醒交互的面向对象类库 数据源:通常是各种数据库,但文本.exc ...
- C#使用ADO.NET访问数据库(一)
博主好久没更新博客了,最近有点忙(打麻将0.0..),今天更新一篇C#的,我还是想坚持更新博客,分享一下自己的心得,闲话少说,开始正题~~ ADO.NET概述:ADO.NET的作用在于他是客户端访问服 ...
- [WCF编程]12.事务:事务概述
一.事务概述 维护系统一致性和正确地处理错误恢复挑战的最佳方式是使用事务. 一个事务就是一个复杂操作的集合,这个集合中任何一个操作的失败都会引起整个集合的失败. 尽管在事务进行时系统被允许暂时出于不一 ...
- ADO.NET 中的新增功能
ADO.NET 中的新增功能: .NET Framework (current version) 以下是 .NET Framework 4.5 中 ADO.NET 的新增功能. SqlClient D ...
- VC++ ADO相关
<VC对ADO的操作> ADO概述: ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口. ADO 使您能够编写应用程序以通过 ...
随机推荐
- linux定时执行shell脚本
写一个shell脚本,定时执行简单示例 很多时候我们有希望服务器定时去运行一个脚本来触发一个操作,比如说定时去备份服务器数据.数据库数据等 不适合人工经常做的一些操作这里简单说下 Shell俗称壳,类 ...
- OpenFOAM——气泡上升
计算域的顶部为大气,其余部分为壁面 流体的物性参数为: 首先进行建模操作,任何建模软件均可,本算例采用ICEM直接建模,生成网格,然后利用OpenFOAM下转化网格,划分完成的网格如下: 网格比较密集 ...
- MySQL 自动插入、更新时间戳
在 MySql 中,要做到自动出入当前时间戳,只要在定义表格时将字段的默认值设置为 CURRENT_TIMESTAMP 即可. 如: create table if not exists my_tab ...
- Android A/B System OTA分析(一)概览【转】
本文转载自:https://blog.csdn.net/guyongqiangx/article/details/71334889 Android从7.0开始引入新的OTA升级方式,A/B Syste ...
- 使用spring validation完成数据后端校验-自定义校验的注解-判断是否为空
引入依赖 我们使用maven构建springboot应用来进行demo演示. <dependencies> <dependency> <groupId>org.sp ...
- BackgroundWorkerHelper
public static class BackgroundWorkerHelper { public static void Run(DoWorkEventHandler doWork, RunWo ...
- ASP.NET MVC下如何返回图片
方式一: 首先,我们应当从控制器入手,控制器一般不都是return View的吗?那怎么返回图片? 当然,Controller类也没有return Image 的,上次我们的例子是返回JSON,其实我 ...
- 不规则形状的Ifc构件顶点坐标获取
不规则形状的Ifc构件顶点坐标获取 今天有人问我,ifc构件的顶点坐标怎么获取,自己前年的时候写过类似的程序,但有点记不清了,最近一直用C++解析ifc,慎重起见,还是重新再写一次,java版本的获取 ...
- LinkedBlockingQueue与ArrayBlockingQueue
阻塞队列与普通的队列(LinkedList/ArrayList)相比,支持在向队列中添加元素时,队列的长度已满阻塞当前添加线程,直到队列未满或者等待超时:从队列中获取元素时,队列中元素为空 ,会将获取 ...
- 【翻译】Flink Table Api & SQL — SQL
本文翻译自官网:SQL https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/sql.html Flink Tab ...