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 :

Problème Insert dans bdd Access


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 31
    Points
    31
    Par défaut Problème Insert dans bdd Access
    J'ai un problème au niveau d'insertion de nouvelles données dans une base de données Access. J’ai un formulaire qui sert à remplir les données d’un nouveau client avec 2 listes déroulantes (code postal et localité). Si le code postal et la localité désirés ne figurent pas dans ces listes, il y a la possibilité de rajouter dans une nouvelle fenêtre ces informations. Je n’ai pas de message d’erreur lors de l’insertion de ces nouvelles données et je trouve dans les listes déroulantes la localité ajoutée et le code postal. Par contre quand je quitte l’application et je reviens sur ce formulaire, la localité et le code postal ne figurent pas dans leur liste déroulante !

    Merci de m'aider à resoudre ce problème ;-)

    Voici le code

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    static class Utilitaire
        {
            static String chaineConnexion = Properties.Settings.Default.SudokuConnectionString.ToString();
            static String message = "";
     
            public static String insertIntoBdd(String query)
            {
                try
                {
                    OleDbConnection conn = new OleDbConnection();
     
                    conn.ConnectionString = chaineConnexion;
     
                    conn.Open();
     
                    OleDbCommand command = new OleDbCommand(query, conn);
     
                    command.ExecuteNonQuery();
     
                    conn.Close();
                }
                catch (Exception ex)
                {
                    message = ex.Message;
                }
     
                return message;
            }
     
               }
    et lors de l'utilisation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private void insertLocalite()
            {  
                String query = "INSERT INTO LOCALITE (NpaLocalite, NomLocalite) VALUES ('" + tbAjoutNpa.Text + "', '" + tbAjoutLocalite.Text + "')";
                labelError.Text = Utilitaire.insertIntoBdd(query);
    }

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Et dans la base elle y sont ?
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 31
    Points
    31
    Par défaut
    Oui, dans la base de données il y a bien une table LOCALITE avec les champs nommés NpaLocalite (int) et NomLocalite (text)

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 270
    Points : 270
    Points
    270
    Par défaut
    je pense que par :
    Et dans la base elle y sont ?
    The_badger_man voulait savoir si les nouvelles données (localité et code postal) se trouvent bien dans la base de données.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 31
    Points
    31
    Par défaut
    Non, autrement je n'aurais pas ce problème bizarre. Dans la base de données il n'y a pas les données que j'aimerais ajouter par contre tant que je ne ferme pas l'application, les comboBox vont bien chercher ces données (aussi les données ajoutées) dans la base de données!

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 31
    Points
    31
    Par défaut
    Est-ce qu'il y a quelque chose de spécial à faire dans la base de données Access ou mauvais code du Insert ?

  7. #7
    Membre habitué Avatar de Mourad
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 152
    Points : 161
    Points
    161
    Par défaut
    c'est normal que tu ne retrouves pas tes données lorsque tu fermes et tu rouvres l'application car lors de la nouvelle compilation, ta base de données est recopiée dans le dossier debug (ou release ça dépend...).
    je m'explique, en débug tu travailles sur la bd qui se trouve dans le dossier debug et quand tu recompiles ton appli, la bd qui se trouve dans ta solution va être de nouveau copiée dans le dossier debug et va ainsi écraser la bd existante.
    tu peux gérer l'action que doit faire le compilateur sur ta base access lors de la compilation, pour ça, si mes souvenirs sont bons :
    bouton droit sur ta BD --> propriété --> puis je pense "Action" et là tu modifies le comportement.
    mon astuce à moi, c'est de garder une chaîne de connexion fixe à la bd et au moment du déploiement de l'application tu modifies cette chaîne de nouveau
    il n'y a pas de solution sans problème.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 31
    Points
    31
    Par défaut
    Dans la propriété de la base de données il y a 2 paramètres modifiables: Build Action et Copy to Out. faudra changer quoi?

    Autre question: est-il normal que le insert se fait dans la base de données située dans le répertoire Debug? Car pour l'instant mon insert se fait dans cette base de données et pas dans l'autre par contre la base de données originale est copié à chaque compilation dans le répertoire Debug et écrase l'autre.

  9. #9
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Citation Envoyé par waterman
    Autre question: est-il normal que le insert se fait dans la base de données située dans le répertoire Debug?
    bin regarde ta chaine de connexion. c'est là que tu indique la base.
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  10. #10
    Membre habitué Avatar de Mourad
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 152
    Points : 161
    Points
    161
    Par défaut
    oui, c'est normal que le insert se fait dans ta BD de debug car ta chaïne de connexion (du moins par défaut) est relative à l'éxécutable de ta solution, et c'est pour ça que le insert se fait sur la BD de debug.
    donc comme j'ai dis, moi je fais en sorte de garder une chaîne de connexion fixe à la base de données qui se trouve dans le dossier de ma solution et j'indique dans les propriétés de la BD lors de la compilation quelque chose comme : ne pas copier...(désolé mais là je n'ai pas devant moi VS)

    voilà, c'était mon astuce à moi, après à toi de voir
    il n'y a pas de solution sans problème.

  11. #11
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 31
    Points
    31
    Par défaut
    Merci à vous deux pour l'aide!

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

Discussions similaires

  1. problème insertion dans BDD
    Par sky88 dans le forum JSF
    Réponses: 4
    Dernier message: 23/06/2011, 10h56
  2. Problème : insertion dans une BDD ACCESS avec VB
    Par Dorni dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 19/05/2009, 14h35
  3. Réponses: 9
    Dernier message: 11/06/2007, 16h58
  4. Problème insertion dans bdd access. Via VB express 2005
    Par Frosaf dans le forum Windows Forms
    Réponses: 1
    Dernier message: 08/06/2007, 18h19
  5. Insertion dans BDD type ACCESS
    Par NeHuS dans le forum ASP
    Réponses: 2
    Dernier message: 20/04/2005, 10h53

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