在VB中,可以使用ADODB连接对象来读取Access数据库中的数据,并将它们保存到VB数组中。以下是一个示例代码:
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim arrData() As Variant
Dim i As Long
' 连接Access数据库
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:mydatabase.accdb;Persist Security Info=False;"
' 执行SQL查询
rs.Open "SELECT * FROM mytable", conn
' 将查询结果保存到数组中
arrData = rs.GetRows()
' 关闭记录集和连接对象
rs.Close
conn.Close
' 输出数组数据
For i = 0 To UBound(arrData, 2)
Debug.Print arrData(0, i), arrData(1, i), arrData(2, i)
Next i
在上面的代码中,我们首先创建了一个ADODB连接对象和一个记录集对象,然后使用连接对象打开Access数据库。接着,我们执行一个SQL查询来读取表中的数据,并通过记录集的GetRows方法将其保存到一个VB数组中。最后,我们遍历数组中的数据并打印它们。
请注意,在使用GetRows方法时,数组的第一个维度表示每个字段,第二个维度表示每条记录。因此,我们可以使用UBound函数来获取数组的上限。例如,UBound(arrData, 2)
表示第二个维度(即记录数)的上限。
要将Access数据库的数据读入VB数组,可以使用ADO(ActiveX Data Objects)来实现。以下是一个示例代码:
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim dataArr() As String
Dim i As Long
'连接数据库
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:mydb.mdb;"
'查询数据
rs.Open "SELECT * FROM mytable", conn, adOpenStatic, adLockOptimistic
'将查询结果存入数组
If Not rs.EOF Then
rs.MoveFirst
i = 0
Do While Not rs.EOF
ReDim Preserve dataArr(i)
dataArr(i) = rs("mycolumn").Value '将数据存入数组
i = i + 1
rs.MoveNext
Loop
End If
'关闭数据库连接
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
上面的代码首先打开Access数据库连接,然后查询数据,并将查询结果存入一个字符串数组中。查询结果可以通过使用SQL语句进行筛选和排序。
在使用ADO时,需要添加对Microsoft ActiveX Data Objects库的引用,可以通过菜单中的「工具」>「引用」来实现。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/158002.html