begin process at 2008 07 23 23:36:02
1 215 381 membres
520 nouveaux aujourd'hui
14 174 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RÉCUPÉRER LE NOM DES TABLES D'UNE BASE DE DONNÉES ACCESS ET AFFICHER DANS UNE LISTBOX


Information sur la source

Catégorie :Base de données Source .NET ( DotNet ) Classé sous : access Niveau : Débutant Date de création : 22/03/2005 Vu : 12 211

Note :
2 / 10 - par 2 personnes
2,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

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

  • 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";
  • }
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
  • signaler à un administrateur
    Commentaire de ivanoff1 le 23/03/2005 21:28:36

    salut !!

    Si tu cherchais ausi sur www.vbfrance.com, tu verrais que j'ai fait exactement la même chose.

    La différence pour ce point ci entre vb et c# n'est vraiment que peu de chose !!

    a #

  • signaler à un administrateur
    Commentaire de nuke_it le 25/03/2005 08:58:53

    merci pur le tuyau j'irais y jeter un oeil de temps en temps même si j'y connais vraiement quedale en vb....
    :p

    Merci!

  • signaler à un administrateur
    Commentaire de sprootch le 11/11/2005 12:34:34

    Tres bien le code mais je n'arrive pas à recuperer les noms des tables sous forme de string. Il m'affiche bien le nom des tables dans la listbox mais lorsque je fais un listbox.selectedItem le string recuperé est: System.Data.DataRowView. Comment faire pour recuperer le nom de la table ? Merci

  • signaler à un administrateur
    Commentaire de sprootch le 11/11/2005 14:00:25

    ok g trouvé ;-)
    for(int i=0;i<schema.Rows.Count;i++) this.listBox1.Items.Add(t.Rows[i]["TABLE_NAME"].ToString());

  • signaler à un administrateur
    Commentaire de sprootch le 11/11/2005 14:02:29

    petite erreur:
    for(int i=0;i<t.Rows.Count;i++) this.listBox1.Items.Add(t.Rows[i]["TABLE_NAME"].ToString());

  • signaler à un administrateur
    Commentaire de nissaf le 13/02/2006 13:32:07

    je ne veux pas utiliser un listbox je veux tout simplement String comment faire ?

  • signaler à un administrateur
    Commentaire de sprootch le 13/02/2006 13:54:53

    Ben t.Rows[i]["TABLE_NAME"].ToString() c'est un string. Donc apres libre à toi d'en faire ce que tu veux.
    Rappel: t est la Datatable remplie avec les infos de ta DataBase.

  • signaler à un administrateur
    Commentaire de nissaf le 15/02/2006 13:41:48

    non il n-affiche pas le contenu et j'ai trouvé le code et je l'envoyer plus tard

  • signaler à un administrateur
    Commentaire de ihsane_casa le 31/05/2007 12:42:02

    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

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS