当前位置:首页>网络学院>程序开发>ASP.NET教程>文章内容

通过ADO.NET访问数据库 教程与实例

[ 来源:www.it55.com | 作者: | 时间:2007-07-15 | 收藏 | 推荐 ] 【

ADO.NET访问数据的步骤

www.it55.com

  不论从语法来看,还是从风格和设计目标来看,ADO.NET都和ADO有显著的不同。在
ASP中通过ADO访问数据,一般要通过以下四个步骤:
IT资讯之家 www.it55.com

  1、 创建一个到数据的链路,即ADO.Connection;
  2、 查询一个数据集合,即执行SQL,产生一个Recordset;
  3、 对数据集合进行需要的操作;
  4、 关闭数据链路。

it55.com

  在ADO.NET里,这些步骤有很大的变化。ADO.NET的最重要概念之一是DataSet。
DataSet是不依赖于数据的独立数据集合。所谓独立,就是:即使断开数据链路,或者
关闭数据,DataSet依然是可用的。如果你在ASP里面使用过非连接记录集合
Connectionless Recordset),那么DataSet就是这种技术的最彻底的替代品。有了
DataSet,那么,ADO.NET访问数据的步骤就相应地改变了:
45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

  1、 创建一个数据链路;
  2、 请求一个记录集合;
  3、 把记录集合暂存到DataSet;
  4、 如果需要,返回第2步;(DataSet可以容纳多个数据集合)
  5、 关闭数据链路;
  6、 在DataSet上作所需要的操作。

it55.com

  DataSet在内部是用XML来描述数据的。由于XML是一种平台无关、语言无关的数据
述语言,而且可以描述复杂数据关系的数据,比如父子关系的数据,所以DataSet实际上
可以容纳具有复杂关系的数据,而且不再依赖于数据链路。

vd;k;l www.it55.com rdfg


ADO.NET对象模型概览 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

  ADOConnection
  
  ADO.NET有许多对象。我们先看看最基本的也最常用的几个。首先看看ADOConnecti
on。和ADO的ADODB.Connection对象相对应,ADOConnection维护一个到数据的链路。
为了使用ADO.NET对象,我们需要引入两个NameSpace:System.Data和System.Data.ADO,
使用ASP.NET的Import指令就可以了: 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.ADO" %> vd;k;l www.it55.com rdfg

和ADO的Connection对象类似,ADOConnection对象也有Open和Close两个方法。下面的这
个例子展示了如何连接到本地的MS SQL Server上的Pubs数据

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.ADO" %>
<%
 ““设置连接串...
 Dim strConnString as String
 strConnString = "Provider=SQLOLEDB; Data Source=(local); " & _
         "Initial Catalog=pubs; User ID=sa"
 ““创建对象ADOConnection
 Dim objConn as ADOConnection
 objConn = New ADOConnection
 ““设置ADOCOnnection对象的连接串
 objConn.ConnectionString = strConnString
 objConn.Open() ““打开数据链路
 ““数据操作代码省略
 objConn.Close()  ““关闭数据链路
 objConn = Nothing ““清除对象
%> sflj www.it55.com kg^&fgd

  上面的代码和ADO没有什么太大的差别。应该提到的是,ADO.NET提供了两种数据
连接方式:ADO方式和SQL方式。这里我们是通过ADO方式连接到数据。关于建立数据
连接的详细信息,我们在后面的篇幅中将会讲到 IT资讯之家 www.it55.com


  ADODatasetCommand
  
  另一个不得不提到的ADO.NET对象是ADODatasetCommand。这个对象专门负责创建我
们前面提到的DataSet对象。另一个重要的ADO.NET对象是Dataview,它是DataSet的一个
视图。还记得DataSet可以容纳各种各种关系的复杂数据吗?通过Dataview,我们可以把
DataSet的数据限制到某个特定的范围。下面的代码展示了如何利用ADODatasetCommand
为DataSet填充数据

sflj www.it55.com kg^&fgd

““创建SQL字符串
 Dim strSQL as String = "SELECT * FROM authors"
 ““创建对象ADODatasetCommand 和Dataset
 Dim objDSCommand as ADODatasetCommand
 Dim objDataset as Dataset = New Dataset
 objDSCommand = New ADODatasetCommand(strSQL, objConn)
  ““填充数据到Dataset
  ““并将数据集合命名为 "Author Information"
 objDSCommand.FillDataSet(objDataset, "Author Information") http://www.it55.com/


  显示Dataset http://www.it55.com/

  前面我们已经把数据准备好。下面我们来看看如何显示Dataset中的数据。在ASP.N
ET中,显示DataSet的常用控件是DataGrid,它是ASP.NET中的一个HTML控件,可以很好
地表现为一个表格,表格的外观可以任意控制,甚至可以分页显示。这里我们只需要简
单地使用它:
  <asp:DataGrid id="DataGridName" runat="server"/> www.it55.com在线教程

剩下的任务就是把Dataset绑定到这个DataGrid。绑定是ASP.NET的重要概念,我们将另
文讲解。一般来说,你需要把一个Dataview绑定到DataGrid,而不是直接绑定Dataset。
好在Dataset有一个缺省的Dataview,下面我们就把它和DataGrid绑定: it55.com

MyFirstDataGrid.DataSource =
objDataset.Tables("Author Information").DefaultView 

www.it55.com在线教程

MyFirstDataGrid.DataBind() http://www.it55.com/

完整的代码(122301.aspx)
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.ADO" %>
<%
 ““设置连接串...
 Dim strConnString as String
 strConnString = "Provider=SQLOLEDB; Data Source=(local); " & _
         "Initial Catalog=pubs; User ID=sa"
 ““创建对象ADOConnection
 Dim objConn as ADOConnection
 objConn = New ADOConnection
 ““设置ADOCOnnection对象的连接串
 objConn.ConnectionString = strConnString
 objConn.Open() ““打开数据链路
 ““创建SQL字符串
 Dim strSQL as String = "SELECT * FROM authors"
 ““创建对象ADODatasetCommand 和Dataset
 Dim objDSCommand as ADODatasetCommand
 Dim objDataset as Dataset = New Dataset
 objDSCommand = New ADODatasetCommand(strSQL, objConn)
 ““填充数据到Dataset
 ““并将数据集合命名为 "Author Information"

(编辑:IT资讯之家 www.it55.com

返回顶部
共2页: 上一页 1 [2] 下一页  

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]

图片文章