大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> NET专区 -> ADO.NET深入研究(1)[特别推荐]

ADO.NET深入研究(1)[特别推荐]

时间: 2021-07-31 作者:daque

导 读:.net 在数据存取上面做了很大的安排。在.net 框架下,数据存取是由ado.net来实行的,这是一个ado的矫正和完备本子。它最明显的变革是其实足鉴于xml。而对于从事ado开拓的职员来说,recordset东西的消逝也令她们感触诧异。--------------------------------------------------------------------------------翻译整治:.net本领网(www.51dotnet.com)slash原文根源:http://www.dnjonline.com/articles/essentials/iss22_essentials.html .net 在数据存取上面做了很大的安排。在.net 框架下,数据存取是由ado.net来实行的,这是一个ado的矫正和完备本子。它最明显的变革是其实足鉴于xml。而对于从事ado开拓的职员来说,recordset东西的消逝也令她们感触诧异。 微软对recordset 东西的管见是:它对立于首先的为了爆发一个sql查问的截止的体制,显得有些过于痴肥了。所以,在ado.net中,recordset东西的功效将被拆分到三个局部中去。开始是datareader东西, 它所要实行的功效是将数据大略的展现出来;在ado中,一致功效是由向前的、效劳器端的光标(forward-only, server-side cursor)来实行的。而后是dataset 和 datasetcommand 东西,它们不妨在存户端创造一个或一个之上的数据汇合的缓存,并对它们举行操纵。在ado中,存户端光目标运用对立比拟简单化,而在这上面ado.net则辨别付与这两个东西各别的功效,进而使它们具备越发潜心而宏大的功效。结果,是其余少许在ado中不妨实行的功效,比方说,运用connection东西在顽固锁定的情景下举行数据的革新。这是在ado.net中没辙实行的功效,这表示着在某些功夫,ado将被连接运用。 在加入dataset的计划之前,咱们先来大略的来看一看ado.net。运用datareader ado.net供给了三个类:dbconnection, dbcommand 和 dbdatareader,它们与保守的ado东西格外的一致。然而在.net运用步调中它们不许被径直运用。不妨运用的是从它们接受而来的类,比方adoconnection, adocommand 和 adodatareader来读取数据,这边的基础是生存一个oledb的provider。即使要操纵的东西是sql server,那么将运用另少许功效沟通的类sqlconnection, sqlcommand 和 sqldatareader 再不径直经过sql server 的 tds 贯穿通道来赢得更好的处事本能。底下是一个例子(由于在这边c#和vb.net的代码辨别不是很大,以是将只运用vb.net的范例):imports system.dataimports system.data.ado..dim cn as new adoconnection()cn.connectionstring = strconnecttry cn.open() dim cd as new adocommand(搒elect * from authors? cn) dim dr as adodatareader cd.execute(dr) while dr.read() listbox1.items.add(dr(揳u_lname?) end whilecatch err as exception msgbox(err.tostring)finally if cn.state = dbobjectstate.open then cn.close()end try 在上头你会发此刻while loop语句中没有展示movenext本领,由于datareader的read本领将机动前移光标,并会在没罕见据的功夫归来一个false值。这明显减少了开拓者的处事量。 在两种情景下,datareader被引荐运用:一、存户界面运用手写代码,或是没有效到数据绑定而且数据的革新是运用手写的sql语句或是保存进程,这种情景下,datareader将供给灵验的考察关系数据的本领;二、一个须要察看数据库状况的的进程,但不须要实行诸如机动革新的功效。少许比拟好的运用范例有向下拉菜单弥补数据,以及产物编号的考证。领会datasets 对于少许开拓者来说,大概会对datasets的运用颇有微词,但究竟上,控制它并不难。即使你对贯穿割断的recordset 形式,以及分层的recordset 的运用不生疏,而且乐于运用少许xml的话,那么运用datasets 就没有什么艰巨了。 然而有什么需要去耗费功夫去从新进修一种东西模子呢? 来由之一是,ado.net 力推的割断贯穿形式(disconnected model)利害常有意旨的。割断贯穿的数据舒卷性更高,由于这种形式对数据效劳器的压力比拟小。经过平行效劳器对中央层举行扩充比对数据层举行扩充要简单的多,所以对于可扩充的运用步调来说,对数据层资源的运用要精心。割断贯穿形式将在这边获得运用。 来由二,在数据处置上面,割断贯穿形式有特殊宏大的远景。 即使说有一种本领的 兴盛比ado还要赶快,这即是xml。xml处置了两个ado所对的控制。 1、xml越发实用与跨平台的的数据传输,由于它不妨穿梭风火墙。 2、xml比ado囊括它的扩充ado2.5刻画的典型多。一个大略的例子,同样面临扁平的数据,普遍的xml将比ado表露出更高的功效。 datasets是xml与ado贯串的产品,它的一个要害的特性是与数据库或sql无干。它不过大略的对数据表举行操纵,调换数据或是将数据绑定到用户界面上。 向datasets中介入数据表的本领有两种: 1、运用datasetcommand东西,它不妨以xml 的情势归来一个数据库查问的截止。在处置数据库革新的功夫,这种本领与ado的存户端光标基础沟通,但供给更强的遏制。 2、径直对xml数据举行操纵。dataset 东西有对xml数据和schemas举行读写的的本领,而且不妨和xmldatadocument东西(该东西是多用处xmldocument类的接受)精细的贯串起来处事,它具备少许对扁平数据操纵的特出因变量所以不妨动作从dataset 到通用xml dom的桥梁。 底下是一段运用dataset的代码:dim dc as new adodatasetcommand( _ "select au_id, au_fname, au_lname from authors" & _ " where au_lname = ‘ringer’", strconnect)dim ds as new dataset()dc.filldataset(ds, "authors")msgbox(ds.xmlschema, , "xml schema")msgbox(ds.xmldata, , "xml data") 之上的代码将一个‘authors’数据表弥补到dataset 东西范例 ds 中,并表露了xml数据和schemas,请看两个表露截止:表1 和 表2 向dataset中增添数据表的操纵利害常简单的,请看底下的代码:dc = new adodatasetcommand( _ "select * from titleauthor" & _ " where title_id like 'ps%'", strconnect)dc.filldataset(ds, "titles")msgbox(ds.xmldata, , "xml data")表1表露xml schema表2表露dataset 东西天生的数据未 完 待 续

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.