使用 ADO.NET 解锁 Microsoft Access 数据(1)
作为参考,在使用 ADO 的 Office Visual Basic for Applications (VBA) 中,可以通过以下方法打开罗斯文示例 Access ,将数据从 Products 表复制到 Recordset 对象,并报告记录集中第一条数据记录的某些数据: 织梦内容管理系统
' Office VBA 和 ADO 代码 - ADOCode.bas。
Public Sub ADOExample()
织梦内容管理系统
' 首先设置对 ADO 库的引用。
Dim objConn As ADODB.Connection
Dim objRS As ADODB.Recordset
Set objConn = New ADODB.Connection
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"User ID=Admin;" & _
"Data Source=C:\Program Files\Microsoft " & _
"Office\Office10\Samplesorthwind.mdb"
objConn.Open
Set objRS = objConn.Execute("SELECT * FROM Products")
objRS.MoveFirst
MsgBox Prompt:=objRS.Fields("ProductName").Value & ", " & _
objRS.Fields("UnitsInStock").Value
objRS.Close
objConn.Close 本文来自织梦
End Sub
dedecms.com
假如您以前在 ADO 中进行过编码,则此 ADO 代码是非常简单的: dedecms.com
声明 ADO 的 Connection 对象和 Recordset 对象,它们分别引用的连接和的基础数据。
Connection 对象的 ConnectionString 属性设置为特定的 String 值,该值代表连接到(本例中为罗斯文)所需要的信息。
Connection 对象的 Open 方法建立了实际的连接。
Connection 对象的 Execute 方法从检索数据,并将检索到的数据放入 Recordset 对象。
Recordset 对象的 MoveFirst 方法移至记录集中的第一条记录。
Recordset 对象的 Fields 属性引用记录中的特定列,而 Field 对象的 Value 属性将检索字段中的实际数据。
作为比较,下面是一些用于控制台应用程序的 Visual Basic .NET 示例代码,使用 ADO.NET 执行大体相同的操作,但它并不将数据放入记录集,而是由一个 ADO.NET 数据读取器保持与数据的连接:
内容来自dedecms
' Visual Basic .NET 和 ADO.NET 代码 - ADONETCode.vb。
' 使用连接的 ADO.NET 数据访问。
' 控制台应用程序。
Imports System.Data.OleDb copyright dedecms
Module Module1 织梦内容管理系统
Sub Main()
本文来自织梦
' 首先设置对 System.Data.dll 的引用。
Dim objConn As New OleDbConnection _
("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"User ID=Admin;" & _
"Data Source=C:\Program Files\Microsoft" & _
"Office\Office10\Samplesorthwind.mdb") dedecms.com
objConn.Open()
copyright dedecms
Dim objCmd As New OleDbCommand _
("SELECT * FROM Products", objConn)
Dim objDataReader As OleDbDataReader = objCmd.ExecuteReader 本文来自织梦
objDataReader.Read()
Console.Write(objDataReader.Item("ProductName") & ", " & _
objDataReader.Item("UnitsInStock"))
End Sub
dedecms.com
End Module 本文来自织梦
下面是该代码的工作方式:
内容来自dedecms
代码 Imports System.Data.OleDb 有助于减少访问对象或对象的成员时所需的工作量。例如,尽管可以在 ADO 中编写 ADODB.Recordset 代码,但通常并不这样做,因为已经引用了 ADODB 库。同样,尽管可以在 ADO.NET 中编写 System.Data.OleDb.OleDbConnection 代码,但假如已经导入了与 OleDbConnection 对象关联的名称空间 System.Data.OleDb(假设我们已预先设置了对 System.Data.dll 的引用),也就不需要进行编码。
在 ADO 中,必须首先声明一个 Connection 类型的对象,然后使用 ConnectionString 属性定义连接信息。而在 .NET 中,我们使用参数化构造函数和初始值设定项的概念,只需一行代码便可以声明 OleDbConnection 类型的对象,并定义连接信息。

文章评论
共有位Admini5网友发表了评论 查看完整内容