ADO.NET是一种数据访问技术,使得应用程序可以连接到数据库存储,并以各种方式操作存储在其中的数据。该技术基于.NETFramework,与.NET Framework类库的其余部分高度集成。

其中最重要的是它的五大对象,如下图所示

  

应用程序和数据库之间的连接访问过程:

下面详细介绍一下每个对象:

Connection对象:

实现数据库(数据源)的连接。通过属性可描述数据和用户身份验证,同时提供一些方法允许程序员与数据源建立连接或断开连接。

Command对象:

主要用来对数据库发出一些指令(查询、新增、修改、删除等)以及呼叫在数据库中的预存程序。

Command对象也分为四种SqlCommand、OleDbCommand、OdbcCommand、OracleCommand.

Command对象常用属性:

属性 说明
Commandtype 获取或设置Command要执行命令的类型
CommandText 获取或设置要对数据源执行的SQL语句或存储过程或表名
Connection 获取或设置此Command对象使用Connection对象的名称
三种不同的CommandType:

    CommandType.Text  :
    CommandType的默认值,指示执行的是SQL语句,为CommandText指定SQL字符串。
  
CommandType.StoredProcedure:
    指示执行的是存储过程,为CommandText指定一个存储过程的名称。
  
CommandType.TableDirect :
    指示用户将得到CommandText指定的数据表中的所有数据。
Command对象常用执行方式:
DataReader对象:
  
    通过Command对象提供从数据库检索数据信息的功能,它以一种只读的、向前的、快速的方式访问数据库。
    根据所用的.NET Framework数据提供程序的不同,DataReader对象也可以分成SqlDataReader、OleDbDataReader、OdbcDataReader、OracleDataReader等
      用户通过Command对象的ExecuteReader方法从数据源中检索数据并返回一个DataReader对象。使用DataReader对象除了效率较高之外,还可以降低网络的负载(因为不把数据全部传回)
        DataReader对象常用属性:
 DataReader对象常用方法:

DataAdapter对象:

是DataSet和数据源之间的桥梁,一方面可以通过command对象下达命令后将取得的数据放入DataSet对象中,另一方面可以把用户对DataSet独享做出的更改写入到数据源中。

DataAdapter对象的常用属性:

DataAdapter对象通过映射Fill方法来填充DataSet对象,通过update方法来更新数据源中的数据。
DataSet对象:
    DataSet对象是ADO.NET最核心成员之一,它是支持ADO.NET断开式、分布式数据方案的核心对象,是实现基于非连接的数据查询的核心组件。DataSet对象可以看做是在内存中创建的一个小型关系数据库,它将数据源中的数据复制一份放到了本地用户的内存中,供用户在不连接数据源的情况下读取数据,从而充分利用了客户端资源,大大降低了数据库服务器压力。
    DataSet对象可以包含一个或多个DataTable对象,多个DataTable对象之间可能形成关系(DataRation对象)、约束(Constraint对象)、外键约束(ForeignKeyConstraint对象)等多种关系。
    DataView
对象可以选择数据表中的行和列的子集。DataView对象和SQLServer的视图不同之处在于,视图可以操作多个表,而DataView对象只能操作单个表。

总结:

学习是一个反复的过程,记得刚开始看红皮书的时候讲这些东西根本一点也不懂,经过这么长一段时间的学习消化,对这五个对象有了一定的了解,最重要的是把这些熟练地运用,其实学习本来就是这样,从刚开始的迷迷糊糊然后慢慢地剥开眼前的雾,逐渐地清晰理解地更深。
    加油(^ω^)!
————————————————

原文链接:https://blog.csdn.net/wxr15732623310/article/details/51828677

ADO.NET的五大对象的更多相关文章

  1. ADO.NET的五大对象【转】

    ADO.NET是一组用于和数据源进行交换的面向对象类库.通常情况下,数据源是数据库,也可以是文本文件.Excel表或XML文件.ADO.NET的主要类对象有Connection.Command.Dat ...

  2. ADO.NET五大对象理论和实践(草稿)

    一.ADO.NET五大对象理论 1. Connection:与数据源建立连接. 2. Command:对数据源执行SQL命令并返回结果. Command对象在执行的的时候有几个比较重要的方法,如Exe ...

  3. 数据库学习之ADO.NET五大对象

    1 [ADO.NET]      ado.net 是一种数据访问技术,使得应用程序能够连接到数据存储,并以各种方式操作存储在里面的数据.    2 [ADO.NET五大常用对象]     Connec ...

  4. ADO五大对象

     ADO.NET五大对象, 1. Connection:与数据源建立连接. 2. Command:对数据源执行SQL命令并返回结果. 3. DataReader:读取数据源的数据,只允许对将数据源以只 ...

  5. ADO五大对象(转载)

    来源:http://blog.csdn.net/u013201439/article/details/51111969 ADO五大对象(转载) 一.绪论 1.引言 在数据库应用系统中,必定要涉及到对数 ...

  6. ado.net五大对象

    五大对象分别是: 1. Connection:与数据源建立连接. 2. Command:对数据源执行SQL命令并返回结果. 3. DataReader:读取数据源的数据,只允许对将数据源以只读.顺向的 ...

  7. C# ADO.NET的SqlDataReader对象,判断是否包含指定字段

    在使用ado.net的SqlDataReader对象时,如果SqlDataReader实例对象中没有对应的字段,则会在那一行报错.而SqlDataReader类又没有判断是否存在指定字段的方法,怎么办 ...

  8. C#反射实现 C# 反射 判断类的延伸类型 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码 C# ADO.NET的SqlDataReader对象,判断是否包含指定字段 页面中添加锚点的几种方式 .net 简单实用Log4net(多个日志配置文件) C# 常用小点

    C#反射实现   一.反射概念: 1.概念: 反射,通俗的讲就是我们在只知道一个对象的内部而不了解内部结构的情况下,通过反射这个技术可以使我们明确这个对象的内部实现. 在.NET中,反射是重要的机制, ...

  9. ADO.NET的主要对象

    ADO.NET主要分为五个对象: 1)Connection对象:用来连接程序与数据库.没有利用连接对象将数据库打开,是无法从数据库中取得数据的.Close和Dispose的区别,Close之后还可以用 ...

随机推荐

  1. iOS安全些许经验和学习笔记

    http://bbs.pediy.com/showthread.php?t=209014 标题: [原创]iOS安全些许经验和学习笔记作者: MonkeyKey时间: 2016-03-30,16:32 ...

  2. Linux内核升级、GRUB2引导故障处理与密码破解

    目录 内核升级 GRUB2内核启动设置 GRUB2引导菜单加密 GRUB2引导故障及修复 救援模式管理 Rhel7破解root密码 内核升级 查看当前内核版本: uname  -r 查看可升级内核:  ...

  3. Python视频压缩

    html, body { font-family: "SF UI Display", ".PingFang SC", "PingFang SC&quo ...

  4. mysql搭建多主一从源复制环境

    问题描述:搭建过一主多从的环境,由于数据库数据一致性要求高,有些情景会搭建一主多从的架构,搭建多主一从的模式,相对来说适合数据整合,将多个业务的库整合到一起,方便做查询,也可以当做一个监控其他主库数据 ...

  5. HDU - 3347 Calculate the expression — 模拟 + map存变量

    传送门 题意:从输入开始,1.输入样例数:2.然后输入一组样例中的行数n:3.前n-1行为定义变量(之间使用空格隔开),只需要map存进去就可以了(这里有覆盖的情况,故使用mp["s&quo ...

  6. Servlet-授课

    1 Servlet 1.1 Servlet概述 Servlet是SUN公司提供的一套规范,名称就叫Servlet规范,它也是JavaEE规范之一.我们可以像学习Java基础一样,通过API来学习Ser ...

  7. redis分布式锁-可重入锁

    redis分布式锁-可重入锁 上篇redis实现的分布式锁,有一个问题,它不可重入. 所谓不可重入锁,即若当前线程执行某个方法已经获取了该锁,那么在方法中尝试再次获取锁时,就会获取不到被阻塞. 同一个 ...

  8. Docker Swarm(十一)生产环境使用的一些建议

    一.Docker Swarm上的容器选择 并非所有服务都应该部署在Swarm集群内.数据库以及其他有状态服务就不适合部署在Swarm集群内. 理论上,你可以通过使用labels将容器部署到特定节点上, ...

  9. VS 中的 lib 和 dll 的区别和使用

    在 vs/c# 项目开发中,经常会遇到 lib 和 dll 文件,而且创建工程项目以及工程项目打包时也是必须要面对的,所以有必要掌握 lib 和 dll 的区别和使用. 静态库:在链接步骤中,连接器将 ...

  10. stm32.cube(一)——系统架构及目录结构

    一.前言 Arm的应用场景往往比51单片机复杂得多,如果一个高级应用的开发需要连底层的结构性代码都要重构,那么在成本和研发周期上就会面临巨大的风险.为了简化编码过程,芯片厂商经常会提供一些板卡级支持的 ...