在VB.NET中用ADO(不是ADO.NET)获取数据库中的所有非系统表名

发表于:2007-06-30来源:作者:点击数: 标签:
@#假设mCnnDB是个已打开某一 数据库 的ADO.Connection @#获取数据库中的所有表名关键是用到ADO.Connection的OpenSchema方法 @#该方法返回一个只读的数据集,包括系统表和用户表. @#因此,需要一个集合来保存其中的用户表 Public Function GetAllTableName() As
@#假设mCnnDB是个已打开某一数据库的ADO.Connection
@#获取数据库中的所有表名关键是用到ADO.Connection的OpenSchema方法
@#该方法返回一个只读的数据集,包括系统表和用户表.
@#因此,需要一个集合来保存其中的用户表
    Public Function GetAllTableName() As System.Collections.ArrayList
        Dim t As New System.Collections.ArrayList()
        Dim rs As New ADODB.Recordset()
        rs = mCnnDB.OpenSchema(ADODB.SchemaEnum.adSchemaTables)
        Do While Not rs.EOF
            If rs("TABLE_TYPE").Value = "TABLE" Then
                t.Add(rs("TABLE_NAME").Value)
            End If
            rs.MoveNext()
            If rs.EOF Then Exit Do
        Loop
        rs.Close()
        rs = Nothing
        Return t
    End Function

原文转自:http://www.ltesting.net