如何查看当前数据库有那些数据表?

解决方案 »

  1.   

    select * from sysobjects where xtype='U'
      

  2.   

    使用Ado.net获取数据库架构信息 
    http://blog.csdn.net/zhzuo/archive/2004/07/03/33273.aspx
      

  3.   

    http://community.csdn.net/Expert/topic/4150/4150864.xml?temp=.6786005我现在的做法是在下拉列表中显示表名(vb.net):
    —————————————————————————————————————————————
    Function access_connection(ByVal stradd As String) As Object
            Dim conn As OleDb.OleDbConnection
            conn = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=;Data Source=" & stradd)
            conn.Open()
            Return conn
    End Function
    —————————————————————————————————————————————
    Function excel_connection(ByVal stradd As String) As Object
            Dim conn As OleDb.OleDbConnection
            conn = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Password=;User ID=;Data Source=" & stradd)
            conn.Open()
            Return conn
    End Function
    —————————————————————————————————————————————
    Function dbf_connection(ByVal stradd As String) As Object
            Dim conn As Odbc.OdbcConnection
            conn = New Odbc.OdbcConnection("SourceType=DBF;Driver={Microsoft Visual FoxPro Driver};SourceDB=" & stradd)
            conn.Open()
            Return conn
    End Function
    (dbf格式用odbc连接需要在机器上安装Microsoft ODBC .NET Data Provider(odbc_net.msi),先前尝试用oledb连接,发现dbf数据库中的中文用datagrid控件显示为乱码,用odbc就没问题了,这个你可以研究下~~)
    —————————————————————————————————————————————
    Public Function GetTables(ByVal conn As OleDbConnection) As DataTable
      Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
                                           New Object() {Nothing, Nothing, Nothing, "TABLE"})
      conn.Close()
      Return schemaTable
    End Function
    —————————————————————————————————————————————
    Select Case database_type
       Case "ACCESS"
             conn1 = access_connection(sourcedb_name)
       Case "EXCEL"
             conn1 = excel_connection(sourcedb_name)
       Case "DBF"
             sourcedb_name = "D:\upload_database\"
    End SelectDim str As String
    Select Case database_type
       Case "ACCESS"
           Dim sourceTable As DataTable = GetTables(conn1)
           conn1.Close()
           For i = 0 To sourceTable.Rows.Count - 1
               str = sourceTable.DefaultView.Item(i).Row(2)
               DropDownList1.Items.Add(New ListItem(str, str))
           Next
       Case "EXCEL"
           Dim sourceTable As DataTable = GetTables(conn1)
           conn1.Close()
           For i = 0 To sourceTable.Rows.Count - 1
               str = sourceTable.DefaultView.Item(i).Row(2)
               Dim word() As String = Split(str, "$")
               DropDownList1.Items.Add(New ListItem(word(0), word(0)))
           Next
       Case "DBF"
          DropDownList1.Items.Add(New ListItem(sourcetable_name.ToString, sourcetable_name.ToString))
    End Select