ADO.NET从概念上来说是指定义一种与数据源进行交互的面向对象类库。类库即类的集合,也就是说ADO.NET主要是提供一了一些实现与数据源进行交互的一些类和接口。

其实就我个人看来,我觉得ADO.NET更多的是定义了一套访问数据源的接口。接口的作用主要是用于指定规范,让别人去实现,自己本身并不去实现。在做机房收费系统项目的时候,我们用到的sqlconnection,sqlcommand 等只是针对SQL Sever实现接口的一些类。

ADO.NET中主要是包括以下几个对象:

下面讲解它们之间的相互关系:

1.Connection对象,是ADO.NET中最底层的对象,主要是程序和数据的连接桥梁。Connection对象有两个属性:ConnectionString,打开数据库连接字符串,和State,数据库连接状态,主要有Open和Close两种状态。

方法:open() 打开数据库连接  close()关闭数据库连接

注意:数据库是否连接是保证其他对象进行的前提

2.Command对象,主要是执行对数据进行添加,删除,修改,查询的Sql命令,也可以执行存储过程。但在执行存储过程的是,需要将Command属性设置为command.StoredProcedure.执行sql语句的时候,设置为CommandType.Text.

主要方法:ExcuteNonQuery():执行一个sql语句,返回受影响的行数,主要是用于添加,删除,修改操作,不用于查询。                                                 ExcuteReader():执行一个sql语句,返回DataReader。

ExcuteScalar():检索单个值,主要用于统计操作。

3.DataReader对象:是一种读取行的只读方式,一般来说读取的是单条记录,一般来说性能比DataAdapter要高,但是DataAdapter返回的是多条记录,例如我们常用到的Dategridew控件绑定数据,就经常要用DataAdapter来返回一个Datatable。

4.DataAdapter对象:主要是利用Connection对象,执行Command的操作,从数据源中检索出来的数据,送往到Dataset中进行存储,主要是利用Fill()方法进行填充,Update()方法进行更新。

5.DataSet对象:包括DataTable和DataGridew对象,主要是负责管理存储在内存中的数据以及断开操作。

6.DataTable对象,是DataSet中的虚拟表,包括数据行和数据列。从数据行中可以得到指定的一条记录,从数据列中可以定义数据类型,大小,以及设置是否为空,是否为主键,是否只读等属性。

ADO.NET改进版是上一篇博客《ADO.NET理论+实践》的一个版本,主要是上一篇博客,总结的过于形式化,而没有把对它的总结与自己结合起来,所以对它进行改进。

ADO.NET改进版的更多相关文章

  1. ADO.NET数据访问技术

    ADO.NET数据访问技术 就是将C#和MSSQLl连接起来的纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中,也可以将数据库中的数据提取到内存中供程序调用.是所有数据访问技术的基础. A ...

  2. ADO.NET 快速入门(一):ADO.NET 概述

    ADO.NET 概述 ADO.NET是改进的ADO数据访问模型用于开发可扩展应用程序.他是专门为可伸缩性.无状态和XML核心的web而设计的.   ADO.NET使用一些ADO对象,如Connecti ...

  3. ADO.NET对象的详解

    1. Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能 ...

  4. WebForm获取GET或者POST参数到实体的转换,ADO.NET数据集自动转换实体

    最近在修改维护以前的webform项目(维护别人开发的.....)整个aspx没有用到任何的控件,这个我也比较喜欢不用控件所以在提交信息的时候需要自己手动的去Request.QueryString[] ...

  5. ADO.NET编程之美----数据访问方式(面向连接与面向无连接)

    最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美&g ...

  6. ADO.NET一小记-select top 参数问题

    异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 最近使用ADO.NET的时候,发现select top @count xxxx 不 ...

  7. .NET基础拾遗(6)ADO.NET与数据库开发基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...

  8. 升讯威ADO.NET增强组件(源码):送给喜欢原生ADO.NET的你

    目前我们所接触到的许多项目开发,大多数都应用了 ORM 技术来实现与数据库的交互,ORM 虽然有诸多好处,但是在实际工作中,特别是在大型项目开发中,容易发现 ORM 存在一些缺点,在复杂场景下,反而容 ...

  9. ADO.NET Entity Framework 在哪些场景下使用?

    在知乎回答了下,顺手转回来. Enity Framework已经是.NET下最主要的ORM了.而ORM从一个Mapping的概念开始,到现在已经得到了一定的升华,特别是EF等对ORM框架面向对象能力的 ...

随机推荐

  1. pktgen使用详细教程

    网上有很多讲解pktgen的文章,但总是不够全面细致,看完之后自己还是不会写pktgen测试脚本,为此本文对pktgen进行详细的阐述,让大家看完本文后能够自己动手写pktgen shell. 1.p ...

  2. libcurl 多线程使用注意事项 - Balder~专栏 - 博客频道 - CSDN.NET

    libcurl 多线程使用注意事项 - Balder~专栏 - 博客频道 - CSDN.NET libcurl 多线程使用注意事项 分类: C/C++学习 2012-05-24 18:48 2843人 ...

  3. 借贷宝注册送现金疯转 新闻PS图背后真相

    动动手指,20元人民币立即到手:http://www.cnblogs.com/mfryf/p/4754384.html 近日,九鼎投资旗下投资平台借贷宝开展的“拉上好友抢红包,轻轻松松玩出钱”引起市场 ...

  4. Linux NFS服务器的安装与配置(转载)

    一.NFS服务简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操 ...

  5. java面试题集1

    一:单选题 下列哪一种叙述是正确的(D )A. abstract修饰符可修饰字段.方法和类B. 抽象方法的body部分必须用一对大括号{ }包住C. 声明抽象方法,大括号可有可无D. 声明抽象方法不可 ...

  6. js获取浏览器的keydown事件(附keycode码)

    <script type="text/javascript" language=JavaScript charset="UTF-8"> docume ...

  7. 关于C++中的拷贝构造函数和赋值函数

    如果类定义的数据成员中存在指针或引用,那么最好重载这两个函数. 1.     定义 拷贝构造函数的定义格式:构造函数名(const 源类名& 引用对象形参名){} 赋值函数定义格式:源类名 & ...

  8. MVC5 Entity Framework学习之Entity Framework高级功能

    在之前的文章中,你已经学习了怎样实现每一个层次结构一个表继承. 本节中你将学习使用Entity Framework Code First来开发ASP.NET web应用程序时能够利用的高级功能. 在本 ...

  9. Mac神器Iterm2的Shell Integration的用法和注意事项

    在iterm2 v3.0版本中有了个新的feature——Shell Integration,其中比较重要的功能就是可以取代传统的“rz”.“sz”(即:向服务器上传.下载文件) 具体的用法可以参见官 ...

  10. php 添加 redis 扩展模块

    由于PHP源码中并未有redis的文件,所以需要自己下载. 下载地址: http://pecl.php.net/get/redis-2.2.5.tgz [root@study package]# ta ...