none
Impossible de mettre à jour une base localdb à partir d'un Windows Form RRS feed

  • Question

  • Programmeur amateur, je développe une application Windows Form pour gérer les auteurs et titres de ma bibliothèque personnelle.

    J'ai une table contenant les champs N0AUTEUR (clef primaire), NOMAUTEUR, Genre.

    J'ai créé un dataset et sur la form un combobox relié à NOMAUTEUR par la flèche 'tache combobox".

    J'ai donc un dataset, un binding source et un table adapter  relatif à cette table.

    Avec les méthodes tableadapter.update() et tableadapter.fill(dataset) j'arrive à lister les nouveaux noms dans le combobox en mode debug.

    Par contre à la fermeture de la form, malgré l'utilisation de tabledapter.update(dataset), les nouvelles lignes ne sont pas sauvegardées dans la base de données.

    Voici le code :

     

    privatevoidbutton1_Click(objectsender, EventArgse)

            {

            

    try


                {

                    aUTEUR2TableAdapter.Insert(textBox1.Text, label1.Text);

                }

               

    catch(Exceptionex)

                {

                   

    MessageBox.Show("Auteur EXISTANT");

                }

                aUTEUR2TableAdapter.Fill(BibliothèqueJPAndroidDataSet.AUTEUR2);

                Validate();

                aUTEUR2BindingSource.EndEdit();

                aUTEUR2TableAdapter.Update(BibliothèqueJPAndroidDataSet.AUTEUR2);

            

    //   BibliothèqueJPAndroidDataSet.AcceptChanges();


            }

    Je n'arrive pas à trouver sur le net ce que je fais de mal qui m'empêche de mettre à jour ma base de données.

    Je précise que j'ai déjà développé cette application sous Visual Studio 2005 en VB et qu'elle fonctionne.

    Merci de prendre le temps de me conseiller.

    jeudi 23 mars 2017 10:57

Réponses

  • Merci pour votre aide précieuse.

    En fait la copie et la mise à jour de la table se faisait bien ... vers un autre répertoire : le repertoire Bin\Debug (cliquer sur "Afficher tous les fichiers" en haut de l'explorateur de solutions pour le voir).

    J'avoue ne pas trop comprendre la logique d'installer une BDD dans le répertoire source pour ensuite ne pas la mettre à jour directement (mais dans un autre répertoire) ; sans doute  cela doit aider les vrais programmeurs.

    Est ce car au déploiement de l'application, le fichier de BDD doit se trouver dans ce répertoire ?

    Pour nous pauvres débutants, cela nous embrouille plutôt.

    J'espère que mon post et votre réponse aidera le prochain qui se heurtera à ce problème.

    Merci encore.



    • Modifié Serjean38 vendredi 24 mars 2017 19:32
    • Marqué comme réponse Serjean38 mardi 28 mars 2017 20:05
    vendredi 24 mars 2017 19:24

Toutes les réponses

  • Bonjour,
    Je vous propose de consulter les articles suivants: Debugging with Local Database File et
    Comment : gérer des fichiers de données locaux dans votre projet.
    Merci de nous tenir au courant. 

    Cordialement,
    Nina


    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    vendredi 24 mars 2017 10:47
    Modérateur
  • Merci pour votre aide précieuse.

    En fait la copie et la mise à jour de la table se faisait bien ... vers un autre répertoire : le repertoire Bin\Debug (cliquer sur "Afficher tous les fichiers" en haut de l'explorateur de solutions pour le voir).

    J'avoue ne pas trop comprendre la logique d'installer une BDD dans le répertoire source pour ensuite ne pas la mettre à jour directement (mais dans un autre répertoire) ; sans doute  cela doit aider les vrais programmeurs.

    Est ce car au déploiement de l'application, le fichier de BDD doit se trouver dans ce répertoire ?

    Pour nous pauvres débutants, cela nous embrouille plutôt.

    J'espère que mon post et votre réponse aidera le prochain qui se heurtera à ce problème.

    Merci encore.



    • Modifié Serjean38 vendredi 24 mars 2017 19:32
    • Marqué comme réponse Serjean38 mardi 28 mars 2017 20:05
    vendredi 24 mars 2017 19:24