面试题答案
一键面试以下是在Visual Basic中使用ADODB
对象连接Access数据库并进行联合查询,将结果显示在DataGrid
控件中的代码示例:
-
首先,确保在项目中引用了
Microsoft ActiveX Data Objects [版本号] Library
。在VB的“工程”菜单中选择“引用”,然后勾选相应的ADO库。 -
以下是示例代码:
Option Explicit
Private Sub Form_Load()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strConn As String
Dim strSQL As String
'连接字符串,假设Access数据库文件名为test.mdb,放在当前目录下
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.mdb"
'打开数据库连接
conn.Open strConn
'联合查询语句
strSQL = "SELECT Table1.*, Table2.* " & _
"FROM Table1 " & _
"INNER JOIN Table2 ON Table1.ID = Table2.ID"
'执行查询并将结果填充到Recordset
rs.Open strSQL, conn, adOpenStatic, adLockReadOnly
'设置DataGrid的数据源为Recordset
Set DataGrid1.DataSource = rs
'关闭Recordset和连接(这里示例在Form关闭时关闭,实际应用中可按需调整)
'rs.Close
'conn.Close
'Set rs = Nothing
'Set conn = Nothing
End Sub
请注意:
- 上述代码中的数据库文件名
test.mdb
需根据实际情况替换为你的Access数据库文件名,且要注意数据库文件路径。 DataGrid
控件可能需要在设计阶段添加到窗体并设置好相关属性。- 代码中的注释部分关于关闭
Recordset
和Connection
对象,可根据你的应用场景和需求决定在何时调用。例如,可以在Form_Unload
事件中进行关闭操作以确保资源释放。