All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
对PHP程序中的常见漏洞进行攻击_php资料_编程技术
ASP.NET,2.0页面性能的考虑_.net资料_编程技术
在DataGrid控件中获取数据项中各列的数据内容_[Asp.Net教程]
ASP.NET,MVC+LINQ开发一个图书销售站点(9)-编辑目录_[Asp.Net教程]
从HTML到XML_[XML教程]
asp.net2.0验证控件之ValidationSummary控件使用方法详
HTML 初学者指南(9)_[Html教程]
黑客攻破SQL服务器系统的十种方法_[SQL,Server教程]
ADO.NET,2.0:如何排除错误信息_.net资料_编程技术
总结:表单复选框向PHP传输数据的研究_php资料_编程技术
Reading number is top 10 pictures
这玉米,买还是不卖?
清醇靓丽的美眉
Abdominal hit by iron--HangZhou best driver parking save passengers
中国的十元人民币的秘密
The sixties of the last century, China is such a kill pig
Take you to walk into the most true north Korea rural1
有种屌丝级别的好妹子
毛俊杰-能量永动机
看看什么叫美景
The beginning and end
Download software ranking
C#高级编程(第4版)
C#程序员参考手册
Unix video tutorial2
Sora aoi's film--cangkong_Blue.Sky
虚拟机5.5.3版
电脑知识及技巧大合集
Unix video tutorial7
卡丁车单机版
Ashlynn Video5
Kung fu panda - the secret of the teacher
delv published in(发表于) 2014/1/23 2:48:28 Edit(编辑)
ADO.NET快速起步_[Asp.Net教程]

ADO.NET快速起步_[Asp.Net教程]

ADO.NET快速起步_[Asp.Net教程]























ADO.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)库可用于其他通过OL
E DB 提供者进行访问的任何数据源。




SQL Server被管理的提供者在MS SQL Server 7.0或以后的版本中使用叫做“tabu
lardata 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 FO
R ODBC)。




以下章节将介绍每个被管理的提供者都可用的ADO.NET的核心组件




Connections--连接和管理数据库事务。
Commands--向数据库发送的命令。
DataReaders--直接读取流数据。
DateSets 和 DateSetCommands--对驻留内存中的数据进行存储和操作。




核心的ADO.NET功能基本上可以被概括为如下内容:




Connection对象在Web页面和数据库间建立连接。Commands对象向数据库提供者发
出命令,返回的结果以一种流的方式贯穿于这些连接中。结果集可以用DataReade
rs快速的读取,也可以储存到驻留内存的DateSets对象中,然后通过DateSetComm
ands对象让用户在数据集中访问和操作记录。开发者可以用过DateSet内置的方法
在基础的数据源上去处理数据集。




为了使用.NET框架中的被管理提供者,需要把下面的名空间(namespaces)包括到
.aspx页面中。




SQL被管理的提供者:
<%@ Import Namespace="System.Data.SQL" %>
 
ADO被管理的提供者:
<%@ Import Namespace="System.Data.ADO" %>
 




Connections




微软在.NET框架中提供了两个Connection对象以建立连接到特定的数据库:SQLCo
nnection和 ADOConnection。Connection对象能在已经创建的连接上通过调用ope
n的方法来被明确的打开连接。下面的代码片断演示了用任一提供者创建和打开连
接。





SQLConnection




[C#]
String connectionString = "server=localhost; uid=sa; pwd=; database=nor
thwind";
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 = Nothing
myCommand.Execute(myReader)
ADODataReader
[C#]
ADODataReader myReader = null;
myCommand.Execute(out myReader);
[VB]
Dim myReader As ADODataReader = Nothing
myCommand.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 here
End While




下面的例子展示了迄今为止我们所讨论的内容:建立一个到SQL数据源的连接,对
于连接的发送select命令,用DataReader对象来保存返回的结果,然后通过循环D
ataReader取得数据。




下面是用C#写的完整代码。




<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQL" %>









注意,真正的捕获块已经包括在"try ... catch"语句中了。这提供了一些处理连
接时出现异常的方法。在“finally”块中的代码总是会被执行,不管是否已经执
行的是“try”或“catch”块,所以它变成关闭reader和conncetion对象的逻辑位
置。




同时也注意DataReader中字段的值是怎么被方便的访问和传递的。  





总结:本文主要介绍了ADO.NET的基本特点,并且使用的一些代码展示了在ADO.NE
T中如何建立数据库连接,发送查询命令及使用DataReader对象快速浏览数据集方
式。当然作为微软面向分布式应用和数据共享的新一代ADO产品,它正真的精华是
DateSets对象。




来源:网络
















































添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.