IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

BD Access dans un datagridview


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Par défaut BD Access dans un datagridview
    bonjour à tous,

    Voila, j'ai un petit programme simple qui me permet de visualiser une base de données Access dans un datagridview (via un dataset).
    Voici le code pour ouvrir et pour charger le datagridview :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
                    openFileDialog1.ShowDialog();
                    connexion = new System.Data.OleDb.OleDbConnection();
                    connexion.ConnectionString = "Provider=microsoft.jet.oledb.4.0;Data Source=" + openFileDialog1.FileName + ";";
     
                    Connexion.Open();
                    toolStripButton2.Enabled = true;
                    this.Text = "BD_ES2 - " + openFileDialog1.FileName;
     
                    requete = "select * from table1";
                    adapteur = new OleDbDataAdapter(requete, connexion);
                    adapteur.Fill(dataSet1);
                    dataGridView1.Refresh();
                    dataGridView1.DataSource = dataSet1;
                    // on charge la 1er table (index 0)
                    dataGridView1.DataMember = dataSet1.Tables[0].ToString();
                    dataGridView1.Refresh();
    Pour fermer la base et vider le datagridview :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     connexion.Close();
                toolStripButton2.Enabled = false;
                this.Text = "BD_ES2";
     
                dataSet1.Reset();
                dataGridView1.DataSource = null;
                dataGridView1.DataMember = null;
    Ca marche la 1er fois mais si je veux ré-ouvrir une base (la même ou une autre) le datagridview ne se remplit pas, il n'y a que le nom des colonnes et une ligne vide...

    une idée...
    merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    Tu peux faire un tour de débogage pour voir à quel moment les données sont "bloquées" ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Par défaut
    en fait ça n'a pas l'air bloqué, quand j'ouvre à nouveau la base et que je regarde dans le dataset, la table est bien la mais le datagridview n'est pas mis à jour... et ca c'est un mystère.
    j'ai essayé les méthodes possibles du datagridview comme upadte... mais bon ca ne bouge pas!!!

    je me demande si il n'y a pas une autre méthode du datagridview nécessaire...

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    Sans certitude (je n'ai pas de quoi tester là), mais si tu rajoutes un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataGridView1.DataBind();
    après avoir déclaré la datasource, ça fonctionne mieux ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Par défaut
    je viens de trouver une (la ?) solution... c'est mon dataset qui ne marche pas comme je veux!!!

    en fait j'utilisais la boite à outils pour créer mon dataset.

    j'ai supprimer ca et je le crée en code avec une nouvelle instance du dataset à chaque fois que je veux ouvrir un fichier...
    apparement la méthode Reset() du dataset ne marche pas comme je crois...

    pour ton idée, je n'ai pas de méthode DataBind()... faut surement créer un autre objet...

    je te remercie, a+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/05/2015, 02h38
  2. Réponses: 1
    Dernier message: 22/04/2015, 10h32
  3. Réponses: 1
    Dernier message: 29/06/2010, 14h03
  4. Ouvrir une base de donnée Access dans un datagridView
    Par Kemanke dans le forum C++/CLI
    Réponses: 0
    Dernier message: 06/04/2009, 09h57
  5. [FrontPage 2003] Afficher éléments base Access dans page ASP
    Par laville dans le forum Autres langages
    Réponses: 3
    Dernier message: 03/08/2005, 10h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo