Recuperare l'elenco delle tabelle presenti in un database Access.
Sfruttado il metodo GetOleDbSchemaTable di un oggetto OleDbConnection è possibile recuperare, sottoforma di DataTable, l'insieme degli oggetti presenti in un database Access, tabelle, query, maschere ecc.
La funzione d'esempio accetta come parametro una stringa contenente il percorso completo del database Access da analizzare restituendo un DataTable contenente le informazioni delle tabelle presenti nel database stesso.
L'esempio si basa sul namespace System.Data.OleDb che sarà quindi necessario importare.
Una volta ottenuto il datatable si potrà iterare a piacere tra gli items della collection rows ed ottenere, ad esempio, il nome della tabella (Table_Name), la data di creazione (DATE_CREATED), quella dell'ultima modifica (DATE_MODIFIED) ecc.
Imports System.Data.OleDb
Private Function getOledbSchemaTable(ByVal DatabaseName As String) As DataTable
'***********************************************************
' Func: getOledbSchemaTable (SB 20060523 mod:)
' Desc: Dato un database Access ne recupero l'elenco delle tabelle
' e le loro proprietà
' Par : DataBaseName Percorso del Database Access
'
' Ret : DataTable
' Note:
'***********************************************************
'
' Mi connetto al database access
'
Dim CN As New OleDb.OleDbConnection
Dim SchemaTable As DataTable = Nothing
Try
CN.ConnectionString = "Provider=Microsoft.jet.OLEDB.4.0; data source=" & DatabaseName
CN.Open()
SchemaTable = CN.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, _
New Object() {Nothing, Nothing, Nothing, "TABLE"})
Catch ex As Exception
MsgBox(ex.Message)
Finally
If Not CN Is Nothing OrElse CN.State = ConnectionState.Open Then CN.Close()
CN.Dispose()
End Try
Return SchemaTable
End Function
venerdì, 16 giu 2006 Ore. 10.01