ADO.NET简介

微软数据访问方式历史阶段
1,ODBC (Open Database Connectivity)是第一个使用SQL访问不同关系数据库的数据访问技术。使用ODBC应用程序能够通过单一的命令操纵不同的数据库,而开发人员需要租的仅仅只是针对不同的应用加入相应的OBDC驱动
2,DAO(Data Access Objects)不像OBDC那样是面向C/C++程序员的,他是微软提供给Visual Basic开发人员的一种简单的数据访问方法,用于操控Access数据库
3,RDO(Remote Data Objects)在使用DAO访问不同的关系型数据库的时候,jet引擎不得不在DAO和ODBC之间进行命令的转化,导致了性能的下降,而RDO的出现就顺利成章了
4,OLE DB(Object Link and embed)随着越来越多的数据以非关系型格式存储,需要一种型的架构来提供这种应用和数据源之间的无缝连接,基于COM(Component Object Model)的OLE DB应运而生了
5,ADO基于OLE DB之上的ADO更简单,更高级,更合适C#程序员,同时消除了OLE DB的多种弊端,取而代之是微软技术的发展趋势
 
ADO.NET的名称起源于ADO(ActiveX Data Objects)是一个COM组件库,也就是一个通用框架类库,该类库键跨域所有存在的WindowsAPI函数,简单来说骂他是在.NET编程环境中使用的数据访问接口
ADO.NET 是与C#和.NET Framework一起使用的类集的名称,用于以关系型的,面向表的格式访问数据
ADO.NET被集成到.NET Framework中,可以用于任何.NET语言,尤其是C#语言
 
ADO.NET有两部分构成:
1,数据提供程序(Provider):它能和数据库保持链接并且执行SQL命令,操纵数据集。
2,数据集(DataSet):能与数据库在断开链接的情况下进行数据库的操作
 
ADO.NET技术中的五大对象
Connection Command DataReader DataAdapter DataSet
Connection 类
和数据库交互,必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。Connection对象会被Command对象使用,这样就能够知道是在哪个数据源上面执行命令。
与数据库交互的过程意味着必须指明想要执行的操作。这是依靠Command对象执行的。开发人员使用Command对象来发送SQL语句给数据库。Command对象使用Connection对象来指出与哪个数据源进行连接。开发人员能够单独使用Command对象来直接执行命令,或者将一个Command对象的引用传递给DataAdapter,它保存了一组能够操作下面描述的一组数据的命令。
Command对象
成功与数据建立连接后,就可以用Command对象来执行查询、修改、插入、删除等命令;Command对象常用的方法有ExecuteReader()方法、ExecuteScalar()方法和ExecuteNonQuery()方法;插入数据可用ExecuteNonQuery()方法来执行插入命令。
DataReader类
许多数据操作要求开发人员只是读取一串数据。DataReader对象允许开发人员获得从Command对象的SELECT语句得到的结果。考虑性能的因素,从DataReader返回的数据都是快速的且只是“向前”的数据流。这意味着开发人员只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是如果开发人员需要操作数据,更好的办法是使用DataSet。
DataSet对象
DataSet对象是数据在内存中的表示形式。它包括多个DataTable对象,而DataTable包含列和行,就象一个普通的数据库中的表。开发人员甚至能够定义表之间的关系来创建主从关系(parent-child relationships)。DataSet是在特定的场景下使用――帮助管理内存中的数据并支持对数据的断开操作的。DataSet是被所有Data Providers使用的对象,因此它并不像Data Provider一样需要特别的前缀
DataAdapter类
某些时候开发人员使用的数据主要是只读的,并且开发人员很少需要将其改变至底层的数据源。同样一些情况要求在内存中缓存数据,以此来减少并不改变的数据被数据库调用的次数。DataAdapter通过断开模型来帮助开发人员方便的完成对以上情况的处理。当在一单批次的对数据库的读写操作的持续的改变返回至数据库的时候,DataAdapter 填充(fill)DataSet对象。DataAadapter包含对连接对象以及当对数据库进行读取或者写入的时候自动的打开或者关闭连接的引用。另外,DataAdapter包含对数据的SELECT、INSERT、UPDATE和DELETE操作的Command对象引用。开发人员将为DataSet中的每一个Table都定义DataAadapter,它将为开发人员照顾所有与数据库的连接。所以开发人员将做的工作是告诉DataAdapter什么时候装载或者写入到数据库
DataTable类
DataTable 是一个数据网格控件。它可以被应用在 VB 和 ASP 上。它无须代码就可以简单的绑定数据库。它具有微软风格的用户界面。
DataTable的实例化以及添加列:
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
DataRow dr = dt.NewRow();
object[] objs = { 1, "Name" };
dr.ItemArray = objs;
dt.Rows.Add(dr);
this.dataGridView1.DataSource = dt;

(一个举例)

数据库比作水源,存储了大量的水(数据);
Connection:
好比深入水中进水口,保持与水的接触,只有它与水进行“链接”,其他对象才可以抽到水(访问到数据)
Command:
则像抽水机,为抽水提供动力和执行方法,然后把水返给上面的”水管“
DataAdpter、DataReader:
就像输水管,担任着水的传输任务,并起着桥梁的作用。
DataAdapter 是通过发动机把水运输到水库里面保持
DataReader 单向地直接把水送到需要水的用户那里,所以要比水库中转一下速度更快,
DataSet:
则是一个大水箱,把抽上来的水按着一定关系的池子进行存放,即使撤掉“抽水装置”(断开链接,离线状态)也可以保持“水”的存在。这也正是ADO.NET的核心
DataTable:
则像是水库中的每个独立的水池子,分别存放不同种类的水,一个大水库由多个这样的水池子组成
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈言必行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值