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. OpenWrt for vmware 从openwrt.org下载10.03.1 或是自己下载最新的源码进行编译生成x86 vmdk格式

    1,直接从OpenWrt.org官网下载 http://downloads.openwrt.org/backfire/10.03.1/x86_generic/ 更新OpenWrt在线软件源 opkg ...

  2. Selenium+Python浏览器调用:Firefox

    如何查看python selenium的API python -m pydoc -p  4567 说明: python -m pydoc表示打开pydoc模块,pydoc是查看python文档的首选工 ...

  3. log4j2j配置

    maven依赖 <properties> <sl4j.version>1.7.7</sl4j.version> <log4j2.version>2.1& ...

  4. Splash界面布局与代码实现(一)

    xml界面布局代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns ...

  5. npm创建和发布模块

    今天项目需要使用npm去创建一个模块,然后我查询了了npm的使用文档(Working with private modules),然后对其进行了整理. 一.在操作之前,我们首先要将npm装好,并且登录 ...

  6. RFC端口号定义

    RFC关于计算机端口号定义 http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers. ...

  7. iOS获取文件路径

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "PingFang SC"; color: #008400 } p.p2 ...

  8. 谈谈对web标准的理解

    Web标准不是某一个标准,而是由一系列标准组合而成.网页主要由三部分组成:结构.表现和行为.对应的标准也分三方面:结构化标准语言主要包括XHTML和HTML以及XML,表现标准语言主要包括CSS,行为 ...

  9. poj 3744 矩阵 高斯消元

    着实被批评了一下,自己的数论确实太烂了. 题意:一条路上,有n个炸弹,给出每个炸弹的位置,一次走一步的概率是p,走两步的概率是1-p.求安全走完的概率. 定义dp[i] = dp[i-1]*p + d ...

  10. Java API设计CheckList

    API设计原则:正确.好名.易用.易学.够快.够小.但我们从来不缺原则,〜〜〜 Interface 1.The Importance of Being Use Case Oriented,一个接口应当 ...