Récupérer le nom des tables d'une base de données access et afficher dans une listbox

Soyez le premier à donner votre avis sur cette source.

Snippet vu 24 593 fois - Téléchargée 28 fois

Contenu du snippet

ce petit morceau de code permet de récuperer le nom des tables d'une BD Access et de les afficher dans une ListBox
j'ai juste voulu publier cette source à causes des problemes que j'ai eu a trouver la solution en c#!!!

Source / Exemple :


using System.Data.OleDb;
using System.Data;              
using System.Collections;

                //
		//Methodes de récupéraion des noms de Tables
		//
		public DataTable GetTables(OleDbConnection conn)
		{
			conn.Open();
			DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
				new object[] {null, null, null, "TABLE"});
			conn.Close();
			return schemaTable;
		}

private void button1_Click(object sender, System.EventArgs e)
		{
			string source = "Provider=Microsoft.Jet.OLEDB.4.0;" + 
                        "Data Source = cheminde_la_base_de_donnees";
                        OleDbConnection conn = new OleDbConnection(source);
			DataTable t = GetTables(conn);
			tableCheckedListBox.DataSource = t;
			tableCheckedListBox.DisplayMember = "TABLE_NAME";
			listBox1.DataSource = t;
			listBox1.DisplayMember = "TABLE_NAME";
                }

Conclusion :


voila! y'a plus qu'a appuyer sur le bouton et les tables de votre bases s'afficheront dans la ListBox

A voir également

Ajouter un commentaire

Commentaires

Messages postés
8
Date d'inscription
jeudi 25 septembre 2008
Statut
Membre
Dernière intervention
5 mai 2010

bonjour,
j'aimerai savoir comment récupérer les colonnes d'une table.
merci
Messages postés
1
Date d'inscription
mercredi 13 février 2008
Statut
Membre
Dernière intervention
18 mars 2009

Bonjour,
J'aimerai savoir s'il est possible d'effectuer cela en mode déconnecté, j'ai essayé mais je reçois un message m'indiquant que la méthode GetOleDbSchemaTable n'est accessible qu'en mode connecté :/
Merci
Messages postés
1
Date d'inscription
vendredi 8 août 2008
Statut
Membre
Dernière intervention
12 août 2008

Slt,

pour répondre à Nehla :

DataTable t = GetTables(oledbConn);
foreach (DataRow row in t.Rows){
comboBox1.Items.Add(row["TABLE_NAME"].ToString());
}

Hope this help.
Messages postés
49
Date d'inscription
jeudi 23 mars 2006
Statut
Membre
Dernière intervention
18 juin 2009

Slt
j'ai utilisé cette methode "DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[] {null, null, null, "TABLE"});" et j'ai mis le resultat dans un comboBox et lorsque je veux recuperer la valeur selectionnée du combobox j'ai ressu le résultat suivant System.Data.DataRowView.
je veux le nom de la table.
Merci d'avance pour l'aide
Messages postés
3
Date d'inscription
mardi 24 avril 2007
Statut
Membre
Dernière intervention
31 mai 2007

salut,
Merci pour votre code,mais est ce que vous pouvez m'expliquer cette ligne SVP :
DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[] {null, null, null, "TABLE"});

merci d'avance
Afficher les 13 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.