0

我正在尝试根据用户选择获取元数据。我正在使用 ADODB 命名空间来提供与数据库的连接和用于从中检索数据的记录集。我已经建立了一个连接并对其进行了测试,这可以正常工作,但是无法检索数据。

这是主要部分:

                con.Open()
                cat.ActiveConnection = con

                Select Case chk.Tag
                Case "Yes"
                    For Each modMainFunctions.tbl In cat.Tables
                        If tbl.Type = "TABLE" Then
                            frmMain.lstTables.Items.Add(tbl.Name)
                        End If
                    Next

            End Select

本质上,我正在检查一个特定的复选框是否已被选中,如果它有“即案例”是“然后我试图从提供的数据库中检索数据库表。但是,编译器没有到达 FOR 循环,我无法理解为什么...

modMainfunctions 是我的模块,其中存储了我的程序的主要功能,在其中我声明了所有必要的变量:

Dim dbname As String = ""
Dim dblocation As String = Application.StartupPath
Dim con As New ADODB.Connection
Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
Dim col As ADOX.Column
Dim view As ADOX.View
Dim key As ADOX.Key
Dim index As New ADOX.Index

谁能看到我哪里出错了?我想获取有关数据库的元数据(请不要回答“您需要连接到...”等,因为我已经有一个处理此问题的子程序并且它工作正常,我认为它不是连接问题)

4

1 回答 1

0

问题解决了,而不是将这个过程存储在一个模块中,我只是将它存储在活动表单中,我不确定这是否是“最佳实践”,但只要我的代码按预期工作我很高兴。我意识到这个错误是因为我没有正确拼写世界“是”......它正在寻找“是”这个词,我清楚地输入了“是”,在这里可以了解彻底阅读您的代码的意义!

于 2012-08-23T17:14:05.493 回答