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. POJ3070矩阵快速幂简单题

    题意:       求斐波那契后四位,n <= 1,000,000,000. 思路:        简单矩阵快速幂,好久没刷矩阵题了,先找个最简单的练练手,总结下矩阵推理过程,其实比较简单,关键 ...

  2. POJ1018贪心(多路归并的想法)

    题意:      有n个服务器,每个服务器都要安装网线(必须也只能安装一个),然后每个服务器都有mi种选择网线的方式,每种方式两个参数,一个是速度b,另一个是价钱p,然后让你找到一个最大的比值 min ...

  3. 【js】Leetcode每日一题-完成所有工作的最短时间

    [js]Leetcode每日一题-完成所有工作的最短时间 [题目描述] 给你一个整数数组 jobs ,其中 jobs[i] 是完成第 i 项工作要花费的时间. 请你将这些工作分配给 k 位工人.所有工 ...

  4. 【jQuery】精细学习记录

    [jQuery]精细学习记录 基础 基本语法: $(选择器).action(回调函数); $/jQuery //jQuery核心函数 $(选择器) //获得的jQuery对象 jQuery核心 - j ...

  5. jquery中定义数组并给数组赋值后转为json格式为[]问题的解决

    一.问题描述:jquery定义一个空数组,并赋值,结果转为json格式后打印值为空 我原本是这样写的,但是show_data值一直为[] var export_data = [];export_dat ...

  6. 一、unittest介绍与基础使用

    一.unittest为单元测试框架,系统标准库 import unittest

  7. 04.06 UCF Local Programming Contest 2017

    A.Electric Bill 题意:简单计算题,超过1000部分额外算 1 #include<stdio.h> 2 int main(){ 3 int money1,money2; 4 ...

  8. 联想 lenove 3750 M4服务器更改启动项和管理口IP

    联想 lenove 3750 M4服务器更改启动项和管理口IP 注: 因为在机房拍照的原因,再加上工作比较忙:整理成文档的时候有的过程已经忘记了,所以有的步骤可能会缺失,里面的选项都已经用中文方式表达 ...

  9. Linux_软件包管理基本概述

    一.回去软件包的途径 1.系统发行版的光盘或官方的服务器镜像站 http://mirrors.aliyun.com        //阿里云镜像站 http://mirrors.sohu.com    ...

  10. C++知识点案例 笔记-4

    1.纯虚函数 2.抽象类 3.内部类 4.运算符重载 5.类的函数重载 6.友元的函数重载 1.纯虚函数 ==纯虚函数== //有时基类中无法给出函数的具体体现,定义纯虚函数可以为派生函数保留一个函数 ...