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. vue中v-if与v-show的区别以及使用场景

    区别 1.手段:v-if是通过控制dom节点的存在与否来控制元素的显隐:v-show是通过设置DOM元素的display样式,block为显示,none为隐藏: 2.编译过程:v-if切换有一个局部编 ...

  2. 安装mysql警告: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY

    CentOS安装rpm安装MySQL时爆出警告: warning: mysql-community-server-5.7.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1 ...

  3. 【原创】JVM如何运行Java程序的?

    [Deerhang] 我们知道Java程序的运行是依赖于JVM虚拟机的,JVM类语言经过编译生成class字节码文件,字节码又经JVM进一步的编译生成机器码,最终运行在硬件上.那么JVM存在的意义是什 ...

  4. ArcGIS JS API使用PrintTask打印地图问题解决汇总

    环境:来源于工作过程,使用的API是  arcgis js 3.*  3系API,4.*暂时没测试: 1.数据与打印服务跨域情况下,不能打印问题. 一般情况下,我们发布的数据服务和打印服务是在一台服务 ...

  5. C++ string的size()和length()函数没有区别

    C++标准库中的string中两者的源代码如下:      size_type   __CLR_OR_THIS_CALL   length()   const     { //   return   ...

  6. OO课程仓库部署使用GitLab CI

    转自我的个人博客http://mistariano.com/blog/9 1. 服务器上安装 gitlab-runner 参考博客https://blog.csdn.net/qq_40699305/a ...

  7. Jenkins 基础篇 - 任务分类

    从前面的小节中我们看到在创建 Jenkins 任务的时候有好几种类型,如果你专门安装了 Maven 相关插件,可能还会有一个[构建一个 maven 项目]的任务类型,那这些任务类型究竟有何区别,以及我 ...

  8. VSCode·备份&还原配置及拓展项

    阅文时长 | 0.54分钟 字数统计 | 924字符 主要内容 | 1.引言&背景 2.备份VSCode配置 3.还原VSCode配置 4.Syncing常用命令 5.声明与参考资料 『VSC ...

  9. [java] XML DTD XSD

    XML是用来干什么的 https://bbs.csdn.net/topics/120762 https://blog.csdn.net/Rain722/article/details/52925828 ...

  10. 搜狗拼音输入法v9.6a (9.6.0.3568) 去广告精简优化版本

    https://yxnet.net/283.html 搜狗拼音输入法v9.6a (9.6.0.3568) 去广告精简优化版本 软件大小:29.2 MB 软件语言:简体中文 软件版本:去广告版 软件授权 ...