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 25 667 fois - Téléchargée 30 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
ziedto83 Messages postés 8 Date d'inscription jeudi 25 septembre 2008 Statut Membre Dernière intervention 5 mai 2010
29 mars 2010 à 12:36
bonjour,
j'aimerai savoir comment récupérer les colonnes d'une table.
merci
cs_hitchou Messages postés 1 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 18 mars 2009
18 mars 2009 à 20:16
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
guakamole2 Messages postés 1 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 12 août 2008
12 août 2008 à 09:10
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.
cs_nehla Messages postés 49 Date d'inscription jeudi 23 mars 2006 Statut Membre Dernière intervention 18 juin 2009
5 août 2008 à 13:09
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
cs_ihsane_casa Messages postés 3 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 31 mai 2007
31 mai 2007 à 12:42
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.