如何使用ADO.NET访问数据库

时间:2021-05-02

本文较细致地介绍了使用ADO.NET链接数据库的方法与步骤,并且给出了具体的实例,如果你对ADO.NET链接数据库的方式还不是很清楚,不妨看看本文。

一、ADO.NET访问数据库的步骤  不论从语法来看,还是从风ge和设计目标来看,ADO.NET都和ADO有显著的不同。在ASP中通过ADO访问数据库,一般要通过以下四个步骤:   (1)创建一个到数据库的链路,即ADO.Connection;  (2)查询一个数据集合,即执行SQL,产生一个Recordset;   (3)对数据集合进行需要的操作;   (4)关闭数据链路。   在ADO.NET里,这些步骤有很大的变化。ADO.NET的最重要概念之一是DataSet。DataSet是不依赖于数据库的独立数据集合。所谓独立,就是:即使断开数据链路,或者关闭数据库,DataSet 依然是可用的。如果你在ASP里面使用过非连接记录集合(Connectionless Recordset),那么DataSet就是这种技术的最彻底的替代品。   有了DataSet,那么,ADO.NET访问数据库的步骤就相应地改变了:  (1)创建一个数据库链路;  (2)请求一个记录集合;   (3)把记录集合暂存到DataSet;   (4)如果需要,返回第2步;(DataSet可以容纳多个数据集合)   (5)关闭数据库链路;   (6)在DataSet上作所需要的操作。   DataSet在内部是用XML来描述数据的。由于XML是一种平台无关、语言无关的数据描述语言,而且可以描述复杂数据关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链路。

  二、ADO.NET对象模型概览  1、ADOConnection   ADO.NET有许多对象。我们先看看最基本的也最常用的几个。首先看看ADOConnection和ADO的ADODB.Connection对象相对应,ADOConnection维护一个到数据库的链路。为了使用ADO.NET 对象,我们需要引入两个NameSpace:System.Data和System.Data.ADO,使用ASP.NET的Import指令就可以了: <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.ADO" %>   和ADO的Connection对象类似,ADOConnection对象也有Open和Close两个方法。下面的这个例子展示了如何连接到本地的MS SQL Server上的Pubs数据库。 <%@ 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 ''清除对象 %>   上面的代码和ADO没有什么太大的差别。应该提到的是,ADO.NET提供了两种数据库连接方式:ADO方式和SQL方式。这里我们是通过ADO方式连接到数据库。

  2、ADODatasetCommand   另一个不得不提到的ADO.NET对象是ADODatasetCommand。这个对象专门负责创建我们前面提到的DataSet对象。另一个重要的ADO.NET对象是Dataview,它是DataSet的一个视图。还记得DataSet可以容纳各种各种关系的复杂数据吗?通过Dataview,我们可以把DataSet的数据限制到某个特定的范围。   (1)下面的代码展示了如何利用ADODatasetCommand为DataSet填充数据: ''创建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")   (2)显示Dataset   前面我们已经把数据准备好。下面我们来看看如何显示Dataset中的数据。在ASP.NET中,显示DataSet的常用控件是DataGrid,它是ASP.NET中的一个HTML控件,可以很好地表现为一个表格,表格的外观可以任意控制,甚至可以分页显示。这里我们只需要简单地使用它: <asp:DataGrid id="DataGridName" runat="server"/>   剩下的任务就是把Dataset绑定到这个DataGrid。绑定是ASP.NET的重要概念,一般来说,你需要把一个Dataview绑定到DataGrid,而不是直接绑定Dataset。好在Dataset有一个缺省的Dataview,下面我们就把它和DataGrid绑定:   MyFirstDataGrid.DataSource = _      objDataset.Tables("Author Information").DefaultView   MyFirstDataGrid.DataBind()   完整的代码(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"  objDSCommand.FillDataSet(objDataset, "Author Information")  objConn.Close()  ''关闭数据链路  objConn = Nothing ''清除对象  Authors.DataSource = _      objDataset.Tables("Author Information").DefaultView  Authors.DataBind() %> <HTML> <BODY> <asp:DataGrid id="Authors" runat="server"/> </BODY> </HTML>

本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章