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. mongodb数据库备份恢复

    MongoDB数据文件备份与恢复   备份与恢复数据对于管理任何数据存储系统来说都是非常重要的.   1.冷备份与恢复——创建数据文件的副本(前提是要停止MongoDB服务器),也就是直接copy  ...

  2. Unity 关于属性的get/set

    学习Unity的可能多数是C#转过来的, 一进来的时候你会发现Unity编写代码,在一些视频或文章中.基本都没有用过get/set使用, 多数是public string name;这样写的公开字段, ...

  3. Android 自己的自动化测试(4)&lt;uiautomator&gt;

    在前面的系列文章.我与介绍java实现 Android 自己主动化測试(1)怎样安装和卸载一个应用(java).Android 自己主动化測试(2)依据ID查找对象(java):然后又介绍了用pyth ...

  4. mysql 分库分表的方法

    分表后怎么做全文搜索 1.merge方式分表(不好) 2. 使用 sql union 3 使用Sphinx全文检索引擎 一,先说一下为什么要分表 当一张的数据达到几百万时,你查询一次所花的时间会变多, ...

  5. 2014年1月24日 Oracle 事务导读

    形象举例:  从 A 账户向 B 账户转账 10000 元 步骤: 1. A - 10000 2. B + 10000 事务的作用就是确保这两步无误执行后提交,若有一个执行不成功则失败. 结束事务的5 ...

  6. Hibernate 查询:HQL查询(Hibernate Query Languge)

    HQL是一种面向对象的查询语言,其中没有表和字段的概念,只有类,对象和属性的概念. 使用HQL查询所有学生: public static void main(String[] args) { Sess ...

  7. 232. Implement Queue using Stacks,225. Implement Stack using Queues

    232. Implement Queue using Stacks Total Accepted: 27024 Total Submissions: 79793 Difficulty: Easy Im ...

  8. Java程序读取tomcat下的properties配置文件

    代码如下: //找到tomcat/etc/wx文件夹    private static String getPropFolderPath()    {  /* Properties p = Syst ...

  9. JSP中Filter中访问Spring管理的beans

    @Override public void init(FilterConfig filterConfig) {  //unchecked = filterConfig.getInitParameter ...

  10. css3渐变详解

    今天总结渐变的问题,渐变分为线性渐变.径向渐变.呼呼,废话少说, 线性渐变:background:linear-gradient(设置渐变形式,第一个颜色起点,中间颜色点 中间颜色的位置,结束点颜色) ...