大雀软件园

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

ADO.NET快速起步 [特别推荐]

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

导 读:正文重要引见了ado.net的基础特性,而且运用的少许代码展现了在ado.net中怎样创造数据库贯穿,发送查问吩咐及运用datareader东西赶快欣赏数据集办法。 --------------------------------------------------------------------------------翻译整治:.net本领网(www.51dotnet.com)郜飞 小狮子英文版 :http://www.itpeople.com.cn/tech/tech-news.asp?fatherid=137&newsid=31148&classtype=152ado.net是微软的microsoft activex data objects (ado)的下一代产物,是在微软的.net中创造散布式和数据共享运用步调的运用步调开拓接口(api)。 ado.net能被用在任何用户的运用步调,须要和ole db-compliant的数据源贯穿和通信,比方microsoft sql server。 同声ado.net又维持着与往日的ado模子相关的少许重要观念,它仍旧被极大的完备,并从各别的消息根源供给道路去赢得构造化的数据----一个平台文本文献,从数据库处置体例赢得的关系数据,大概是分级的xml数据----但是,一切都依照一个相容的,规范化的安排模子来实行。这篇作品意在扼要的引见ado.net的要害个性,中心报告了在联系数据库处置体例(rdbms)中考察数据。赶快欣赏sql server 7.0(及革新本子)以及不妨经过 ole db 供给者举行考察的任何数据源。那些又称为被处置的供给者(managed provider)。.net框架的数据存取api供给了两种办法辨别辨别并处置两种典型的数据源:sql server 7.0(及革新本子)和不妨经过 ole db 供给者举行考察的任何数据源。sql(system.data.sql)库不妨径直结合到sql server的数据,而ado (system.data.ado)库可用来其余经过ole db 供给者举行考察的任何数据源。sql server被处置的供给者在ms sql server 7.0或此后的本子中运用叫作“tabulardata stream”的专用和议,而没有运用ole db, ado 或 odbc。ado.net被处置的供给者不妨在那些ole db 供给者下处事。启动步调 driver 供给者 provider sqloledb sql ole db provider msdaora oracle ole db provider jolt jet ole db provider msdasql/sqlserver odbc sql server odbc driver via ole db for odbc provider msdasql/jet odbc jet odbc driver via ole db provider for odbc provider 此刻ado.net还不扶助 msdasql/oracle odbc driver(oracle ole db driver for odbc)。以次章节将引见每个被处置的供给者都可用的ado.net的中心组件connections--贯穿和处置数据库工作。 commands--向数据库发送的吩咐。 datareaders--径直读取流数据。datesets 和 datesetcommands--对驻留外存中的数据举行保存和操纵。中心的ado.net功效基础上不妨被详细为如次实质:connection东西在web页面和数据库间创造贯穿。commands东西向数据库供给者发出吩咐,归来的截止以一种流的办法贯串于那些贯穿中。截止集不妨用datareaders赶快的读取,也不妨积聚到驻留外存的datesets东西中,而后经过datesetcommands东西让用户在数据会合考察和操纵记载。开拓者不妨用过dateset内置的本领在普通的数据源上去向理数据集。为了运用.net框架中的被处置供给者,须要把底下的名空间(namespaces)囊括到.aspx页面中。sql被处置的供给者: <%@ import namespace="system.data.sql" %>  ado被处置的供给者:<%@ import namespace="system.data.ado" %>  connections微软在.net框架中供给了两个connection东西以创造贯穿到一定的数据库:sqlconnection和 adoconnection。connection东西能在仍旧创造的贯穿上经过挪用open的本领来被精确的翻开贯穿。底下的代码片断演练了用任一供给者创造和翻开贯穿。 sqlconnection[c#]string connectionstring = "server=localhost; uid=sa; pwd=; database=northwind";sqlconnection myconn = new sqlconnection(connectionstring);myconn.open();[vb]dim connectionstring as string = _ m connectionstring as string = _   "server=localhost; uid=sa; pwd=; database=northwind"dim myconn as sqlconnection = new sqlconnection(connectionstring)myconn.open adoconnection[c#]string connectionstring = "provider=sqloledb.1; data source=localhost; uid=sa; pwd=; initial catalog=northwind;"adoconnection myconn = new adoconnection(connectionstring);myconn.open();[vb]dim connectionstring as string = _ ost; uid=sa; pwd=; initial catalog=northwind;"adoconnection myconn = new adoconnection(connectionstring);myconn.open();[vb]dim connectionstring as string = _   "provider=sqloledb.1; data source=localhost; " & _   "uid=sa; pwd=; initial catalog=nohwind"dim myconn as adoconnection = new adoconnection(connectionstring)myconn.open() commands在创造了贯穿此后,下一步要做的即是对数据库运转的sql语句。最大略径直的本领是经过ado和sql吩咐东西来实行。command东西不妨赋予供给者少许该怎样操纵数据库消息的训令。一个吩咐(command)不妨用典范的sql语句来表白,囊括实行采用查问(select query)来归来记载集,实行动作查问(action query)来 革新(减少、编纂或简略)数据库的记载,大概创造并窜改数据库的表构造。固然吩咐(command)也不妨传播参数并归来值。commands不妨被精确的界定,大概挪用数据库中的保存进程。接下来的小段代码证领会在创造贯穿之后怎样去发出一个select吩咐。 sqlcommand[c#]string sqlstmt = " select * from customers";sqlcommand mycommand = new sqlcommand(sqlstmt, myconn);[vb]dim sqlstmt as string = "select * from customers"dim mycommand as sqlcommand = new sqlcommand(sqlstmt, myconn) adocommand[c#]string sqlstmt = " select * from customers";adocommand mycommand = new adocommand(sqlstmt, myconn);[vb]dim sqlstmt as string = "select * from customers"dim mycommand as adocommand = new adocommand(sqlstmt, myconn) datareaders当你处置洪量数据的功夫,洪量外存的占用会引导本能上的题目。比方,一个贯穿(connection)用保守的ado recordset东西去读1000行数据库的记载,就必需为这1000行记载将外存调配给这个贯穿直至这个贯穿的人命周期中断。即使有1000用户在同一功夫对同一计划机举行同样的操纵,外存被过渡的运用就会变成要害性的题目。为领会决那些题目,.net框架囊括了datareaders东西,而这个东西只是从数据库归来一个只读的,仅向前数据流。并且暂时外存中历次仅生存一条记载。datareader接口扶助百般数据源,比方联系数据和分级数据。datareader不妨实用于在运转完一条吩咐仅须要归来一个大略的只读记载集。底下的代码片断阐明了如何样证明变量指向一个datareader东西的范例,还囊括代码实行时command东西爆发的截止。当挪用command东西实行本领时,command东西必需仍旧被创造和动作参数来传播。连接上头的例子: sqldatareader[c#]sqldatareader myreader = null;mycommand.execute(out myreader);[vb]dim myreader as sqldatareader = nothingmycommand.execute(myreader) adodatareader[c#]adodatareader myreader = null;mycommand.execute(out myreader);[vb]dim myreader as adodatareader = nothingmycommand.execute(myreader) 接下来这步是一个运用datareader的大略方法[c#]while (myreader.read()) { [c#]while (myreader.read()) {   // do your thing with the current row here}[vb]while myreader.read ' do your thing with the current row hereend while 底下的例子展现了迄今为止咱们所计划的实质:创造一个到sql数据源的贯穿,对于贯穿的发送select吩咐,用datareader东西来生存归来的截止,而后经过轮回datareader博得数据。 底下是用c#写的完备代码。 <%@ import namespace="system.data" %><%@ import namespace="system.data.sql" %><html><head><script language="c#" runat="server">public sqldatareader myreader;public string html;protected void page_load(object src, eventargs e ) {    sqlconnection mysqlconnection = new sqlconnection("server=localhost;uid=sa;pwd=;database=northwind");   sqlcommand mysqlcommand = new sqlcommand("select * from customers", mysqlconnection);   try {      mysqlconnection.open();      mysqlcommd.execute(out myreader); .execute(out myreader);      html="<table>";      html+="<tr>";      html+="<td><b>customer id</b>   </td>";      html+="<td><b>company name</b></td>";      html+="</tr>";      while (myreader.read()) {         html+="<tr>";         html+="<td + myreader["customerid"].tostring() + "</td>"; + myreader["customerid"].tostring() + "</td>";         html+="<td>" + myreader["companyname"].tostring() + "</td>";         html+="</tr>";      }      html+="</table>";   }   catch(exception e) {      html=e.tostring();   }   finall y {      meader.close(); ader.close();      mysqlconnection.close();   }   response.write(html);}</script></head><body></body></htm 提防,真实的捕捉块仍旧囊括在"try ... catch"语句中了。这供给了少许处置贯穿时展示特殊的本领。在“finally”块中的代码老是会被实行,尽管能否仍旧实行的是“try”或“catch”块,以是它形成封闭reader和conncetion东西的论理场所。同声也提防datareader中字段的值是如何被简单的考察和传播的。  归纳:正文重要引见了ado.net的基础特性,而且运用的少许代码展现了在ado.net中怎样创造数据库贯穿,发送查问吩咐及运用datareader东西赶快欣赏数据集办法。固然动作微软面向散布式运用和数据共享的新一代ado产物,它正真的精炼是datesets东西。为此,本网站将期近将推出的《ado.net深刻接洽》中对datesets东西举行深刻的商量。

热门阅览

最新排行

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