Lister les tables d'une BDD ADODC

[Résolu]
Signaler
Messages postés
132
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 mai 2017
-
Messages postés
132
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 mai 2017
-
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.

Merci d'avance à tous pour vos réponses.

Johann36

1 réponse

Messages postés
132
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 mai 2017

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.

Johann36