johann36
Messages postés132Date d'inscriptiondimanche 15 février 2004StatutMembreDernière intervention 9 mai 2017
-
9 août 2008 à 12:20
johann36
Messages postés132Date d'inscriptiondimanche 15 février 2004StatutMembreDernière intervention 9 mai 2017
-
10 août 2008 à 14:08
Bonjour,
Je cherche à lister toutes les tables d'une base de données, je m'explique.
Je créé une connexion à une base de données *.gdb (BDD Interbase) et ne connaissant pas le nom des tables je voudrais trouvé la fonction qui permet cela. Je sais qu'avec ADODB cela fonctionne avec la fonction "MyCn.OpenSchema(ADODB.SchemaEnum.adSchemaTables)" mais là en ADODC ... je sais pas.
johann36
Messages postés132Date d'inscriptiondimanche 15 février 2004StatutMembreDernière intervention 9 mai 2017 10 août 2008 à 14:08
Bon n'ayant pas eu de réponse j'ai pris mon mal en patience et j'ai enfin trouvé la soltuion.
Je vais donc vous en faire profiter peut-être qu'il y a ou aura d'autres personnes comme moi qui auront besoin de cette fonction.
Pour lister les tables d'une BDD Interbase (dans mon cas c'est l'extension gdf mais ça n'a pas d'importance) voici le code :
'Chaîne de connexion à la BDD
Dim SqlConn As String = "Driver=Firebird/InterBase(r) driver;Server=localhost;" + _
"Database=localhost:" CheminBDD.gdb ";Uid =Login;Pwd= MotDePasse ;"
'Création de l'objet de connexion à la BDD
Dim myDA As New Odbc.OdbcConnection(SqlConn)
Try
'Ouverture de la BDD
myDA.Open()
Catch ex As Exception
MsgBox("Erreur de connection à la BDD" + _
Chr(13) + Chr(13) + "Détails :" + Chr(13) + ex.Message(), MsgBoxStyle.Critical, "Titre")
Application.Exit()
End Try
Dim SchemaTable As DataTable
SchemaTable = myDA.GetSchema("Tables")
For Each element2 As DataRow In SchemaTable.Rows
'Condition pour remplir le menu déroulant contenant la liste des tables de la BDD
If Microsoft.VisualBasic.Left(element2.Item(2), 3) <> "RDB" Then
'Je recherche tous les noms dont les 3 premiers caractères sont différents de RDB ce qui correspond au nom des tables, puis je les ajoute dans une ComboBox
Me.ComboBox .Items.Add(element2.Item(2))
End If
Next
Bon et bien voilà j'espère que ça pourra vous servir.