Lister les tables d'une BDD ADODC

Résolu
johann36 Messages postés 132 Date d'inscription dimanche 15 février 2004 Statut Membre Dernière intervention 9 mai 2017 - 9 août 2008 à 12:20
johann36 Messages postés 132 Date d'inscription dimanche 15 février 2004 Statut Membre Derniè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.

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

Johann36

1 réponse

johann36 Messages postés 132 Date d'inscription dimanche 15 février 2004 Statut Membre Derniè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.

Johann36
3
Rejoignez-nous