我无法使用ADO / ADOX获取元数据

时间:2012-08-23 14:26:25

标签: visual-studio-2010 metadata ado adox

我正在尝试根据用户选择获取元数据。我使用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

基本上,我正在检查是否已经选择了一个特定的复选框,如果它有“ie case”是“那么我试图从提供的数据库中检索数据库表格。但是,编译器没有到达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

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

1 个答案:

答案 0 :(得分:0)

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