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

C# Discussion :

[ADO.net] insertion dans une base Access


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 136
    Par défaut [ADO.net] insertion dans une base Access
    bonjour,

    j'ai besoin de réaliser une application qui va insérer des données dans une base Access. ça parrait simple à premiére vue, mais je n'y parviens pas.
    je me suis basé sur des cours des forums et des applis pour essayer de gérer ma base, mais rien à faire, j'ai toujours le même probléme.
    en fait, j'ai un dataGrid qui affiche les données et lorsque j'ajoute de nouvelles données, elles s'affichent bien dans mon dataGrid. en revanche, elle ne sont pas sauvegardées dans la base.

    voici mon code d'insertion :
    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
    18
    19
    20
    21
     
    DataRow newLine;
                newLine = dataSet.Tables["regroupement"].NewRow();
                newLine["ID"] = dataSet.Tables.Count + 1;
                newLine["libRegroupement"] = "valeur de test 1";
                newLine["parentRegroupement"] = "valeur de test 2";
                dataSet.Tables["regroupement"].Rows.Add(newLine);
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
                else
                {
                    connection.Open();
                }
                OleDbCommandBuilder cmdBuilder;
                cmdBuilder = new OleDbCommandBuilder(dataAdapter);
                dataAdapter.InsertCommand = cmdBuilder.GetInsertCommand();
                dataAdapter.Update(dataSet, "regroupement");
                dataSet.AcceptChanges();
                connection.Close();
    merci de m'avoir lu, j'espère que vous pourrez m'aider.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Par défaut
    je ne connais pas trop ta methode (il yen a plusieurs avec les meme outils)
    je te donnerais donc 2 reponse divergente

    1)
    tu peut effectuer le traitement toi meme via des ordres SQL
    je te joint une petite classe qui te permet d'executer une requete SQL sur une connection OleDb(type access)

    tu doit lui fournir la connexion, la requete SQL, true/false suivant si tu fait une lecture ou ecriture

    2)
    j'utilise maintenant un petit outils fort agreable qui gère tout sa pour moi de maniere très pratique je trouve
    il gère Access, SQLite, Oracle, SQL Serveur, MySql
    tu ne travail plus qu'avec des objets, plus besoin de t'embetter avec la base de donnèes

    (il faut tout de meme la crèè : la base + les tables) ensuite il genere tout tout seul => a essayer (ya une video qui te montre comment sa se passe)

    Invist
    Fichiers attachés Fichiers attachés

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 136
    Par défaut
    avant tout, merci de m'avoir répondu.

    ça ne fonctionne toujours pas.

    le méthode que tu utilise dans ta class je l'ai déjà essayée sans succès. le problème ne vient peu-être pas de mon code alors.

    voila comment j'ai utilisé ta class :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    connection.Open();
    TheBlackReverand.SQL.Tools.AccessTools.Executer(connection, "INSERT INTO regroupement VALUES(3, 'test', 'test')", false);
    connection.Close();
    aucune erreur ou exception ne m'est retournée.

    pour invist, je ne peu malheureusement pas l'essayer, je tourne avec VS2005.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Par défaut
    aucune erreur? prend garde a peut etre quelque try catch qui ne traiterais pas l'erreur comme il le faut


    si tu debug le status de connexion est bien sur "Open"?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 136
    Par défaut
    le statut de la connexion est bien sur Open au moment de l'appel de la méthode.

    j'ai relu ta class et je ne vois pas ce qui pourrais poser problème. dans mon code il n'y a pas grand chose, et aucun try/catch. j'ai juste un bout de code pour peupler le dataGridView et un bouton pour ajouter des valeurs statiques (c'est pour essayer d'arriver à manipuler cette foutu BDD hein !).

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Par défaut
    tu a regarder du cotè des Providers?

    leur version vis à vis de celle de ta base Access

    je dit sa comme sa car la...

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

Discussions similaires

  1. [XL-2010] comment faire des insert dans une base access sans avoir access
    Par Poulki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/08/2012, 07h45
  2. Erreur insert dans une base Access
    Par erce78 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/09/2008, 14h21
  3. Requête d'insertion dans une base ACCESS
    Par kurul1 dans le forum C++Builder
    Réponses: 5
    Dernier message: 02/11/2006, 17h41
  4. [VB.NET] création d'une table dans une base access
    Par smedini dans le forum Accès aux données
    Réponses: 1
    Dernier message: 31/12/2005, 11h53
  5. [C#] Insertion dans une base Access .mdb
    Par borgfabr dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/03/2005, 15h30

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