Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Получение списка таблиц в Бд? Добавлено: 12.12.07 14:31  

Автор вопроса:  Artur
Как получить список таблиц, находящихся в БД (подключение ADODB) из .mdb файла в Visual basic?

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 14.12.07 03:07
Public Function GetTableArray(DataBasePath As String, Password As String, _
                              ReturnArray() As String) As Long '+
'Возвращаем массив ReturnArray с именами таблиц
'В случае успеха функция принимает значение 0, иначе номер ошибки

Set dbObj = New ADODB.Connection
Dim rsSchema As ADODB.Recordset
Dim dbConnectionString As String

On Error GoTo e
dbConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataBasePath$ & ";" & _
 IIf(Trim(Password) <> "", "Jet OLEDB:Database Password=" & Trim$(Password$) & ";", "";)

    ReDim ReturnArray(0)
    dbObj.Open dbConnectionString
    
    If dbObj.state = adStateOpen Then
        Set rsSchema = dbObj.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "TABLE";))
        If Not rsSchema Is Nothing Then
            Do While Not rsSchema.EOF
                If UCase(Left(rsSchema!Table_name, 4)) <> "MSYS" Then
                    If UCase(Left(rsSchema!Table_name, 11)) <> "SWITCHBOARD" Then
                        NewTableName = rsSchema!Table_name
                        ReturnArray(UBound(ReturnArray)) = NewTableName
                        ReDim Preserve ReturnArray(UBound(ReturnArray) + 1)
                    End If
                End If
                rsSchema.MoveNext
            Loop
        End If
    End If
    'ReDim Preserve ReturnArray(UBound(ReturnArray) - 1)
    GetTableArray = 0
    rsSchema.Close
    Set rsSchema = Nothing
    Set dbObj = Nothing
    Exit Function
e:
    GetTableArray = Err.Number
    Debug.Print Err.Description
    ;DescriptionLastError = Err.Description
    On Error GoTo 0: On Error Resume Next
    Set rsSchema = Nothing
    Set dbObj = Nothing
End Function

Ответить

Номер ответа: 2
Автор ответа:
 VerhoLom



Вопросов: 20
Ответов: 285
 Профиль | | #2 Добавлено: 05.01.08 16:35

    Dim cat As New ADOX.Catalog
    Dim conn As New ADODB.Connection
    Dim tbl As ADOX.Table
    
    listBox.Clear
    With conn
        .Provider = "Microsoft.Jet.OleDb.4.0"
        .ConnectionString = "c:\11\db1.mdb"
        .Open
    End With
    
    With cat
        Set .ActiveConnection = conn
        
        For Each tbl In .Tables
            If tbl.Type = "TABLE" Then
                listBox.AddItem tbl.Name & "     " & tbl.Columns.Count & " columns"
            End If
        Next
        
        Set .ActiveConnection = Nothing
    End With
    
    conn.Close
    Set conn = Nothing


Не забудьте подключить библиотеки:
Microsoft ActiveX Data Objects 2.6
Microsoft ADOExt 2.8 For DDL and Security

Возможно, у вас иные версии...

Ответить

Номер ответа: 3
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 06.01.08 09:16
SHOW TABLES в нормальных СУБД

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам