用VB程序在后台打开一个数据库,怎样知道这个数据库中包含哪些表,以及表里的都有哪些字段.

解决方案 »

  1.   

    http://www.csdn.net/develop/read_article.asp?id=15422
      

  2.   

    http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=8159
      

  3.   

    要看是什么库咯,Access就用DAO,如果是SQl呢,用ADO就行'检测数据表是否完整,不完整就建立:
    Public Function CheckTable(Tables() As String) As Boolean
    On Error GoTo ErrTag
        Dim Rs As New ADODB.Recordset
        Dim strSql As String
        'Set Rs = FConn.OpenSchema(adSchemaTables)
        CheckTable = True
        For i = 0 To UBound(Tables)
            '判断相应的表是否存在。
            strSql = "SELECT name,id FROM sysobjects WHERE id = object_id('" & Tables(i) & "') AND type = 'U'"
            Rs.Open strSql, FConn, adOpenKeyset, adLockReadOnly
            If Rs.RecordCount = 0 Then  '表不存在!
                InitTable Tables(i)  '创建相应的表。
            End If
            Rs.Close
        Next
        Set Rs = Nothing
        Exit Function
    ErrTag:
        CheckTable = False
        Set Rs = Nothing
    End Function有什么字段应该很好取得吧
    打开一个记录集就行,枚举集合Rs.fields就可以得到
      

  4.   

    "select * from sysobjects where name='oldxiazaijilu'"
      

  5.   

    我打开的是access数据库,上面提及的都是sql的,不过还是可以参考的,哪位方便的话能否提供一下access的方法.
      

  6.   

    For i = 0 To Data1.Recordset.Fields.Count - 1(列的总数)Label(i).Caption = Data1.Recordset.Fields(i).Value(每列的名称)
    Next i
      

  7.   

    这因数据库的不同而有所区别,在SQL SERVER 中可以到MASTER数据库中的存储过程中去找系统存储过程以SP开头的,具体名字名字是什么忘了,但有两个这样的系统存储过程调用它们就可以自动取得数据库中的表名的列表和某表中的字段列表.