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 :

MSDE et C# : Disparition d'enregistrements


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Par défaut MSDE et C# : Disparition d'enregistrements
    Bonjour à tous !

    Je développe une petite application de gestion de rassemblement automobile en WinForm, et tout se présente bien à première vue. Cependant j'ai quand même un souci.

    En effet, dans ma solution Visual Studio, j'ai ajouté ma base de données MSDE (Microsoft SQL Desktop Engine), dans laquelle j'ai créé des tables. Il m'a proposé de me générer automatiquement mes requêtes SELECT, INSERT, UPDATE, DELETE via les TableAdapters. J'ai accepté, en les vérifiant, elles fonctionnent. J'utilise mon application sans souci, ça enregistre bien tout ce que je modifie dedans.

    Le hic vient quand je clique sur ma base dans Visual Studio. Pour une raison que j'ignore, cela vide complètement la base de données, excepté les enregistrements que j'ai inséré à la main directement dans les tables. Je peux quitter l'application et revenir, les enregistrements restent, mais dès que je clique sur la base, hop, ça se vide, je n'ai aucune action à faire...

    Je pourrais donner des captures d'écran si cela vous intéresse...

    Ah oui, second truc bizarre, au début, il n'enregistrait pas les données entre deux ouvertures du logiciel. J'ai donc ajouté des COMMIT dans mes instructions. Juste après, il m'a dit que les Transactions étaient vides et que le COMMIT plantait du coup... il change d'avis comme de chemise...

    Merci d'avoir lu, et si possible, de m'éclairer...

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    En fait, il y a 2 copies de la base :
    - une dans le répertoire du projet, qui est la copie "de référence", et qui est celle que tu modifies via visual studio
    - une dans le répertoire de sortie (bin\debug ou bin\release), qui est la copie "de travail"

    Par défaut la base de référence est copiée dans le répertoire de sortie à chaque compilation, ce qui écrase la copie de travail et donc les modifs faites par le programme.


    (en fait je suppose que ton problème vient de là, parce que c'est un problème qui revient souvent, mais peut-être que dans ton cas ça n'a rien à voir...)

    Tu peux changer ce comportement comme ça : sélectionne ta base dans l'explorateur de solution, affiche ses propriétés (F4), et change l'option "Copier dans le répertoire de sortie". Si tu mets "copier si plus récent", la copie de travail sera écrasée seulement si la copie de référence a changé (vu la description du problème, ça semble être l'option actuellement sélectionnée). Si tu mets "ne jamais copier", la copie de travail ne sera jamais écrasée ; c'est l'option la plus sûre si ta base de travail contient des "vraies" données, mais les mises à jour du schéma (nouvelles tables etc) faites sur la copie de référence ne seront pas prises en compte, il faudra les reporter manuellement.

    De toutes façons, tu devrais bien distinguer l'application "en développement" de l'application "en production" : la "vraie" base de données qui contient les vraies données ne devrait pas être dans les répertoires de développement, mais dans un dossier à part où tu déploies l'application.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Par défaut
    Alors, je viens de regarder, et en effet, c'est bien ça. Il se basait sur la copie qui se trouvait dans le Bin/Debug de l'application lorsque celle-ci était lancée, et ma solution me permettait de visualiser ma base à moi.
    J'ai donc retiré la copie 'ne pas copier' et cela a résolu mon souci !

    Merci beaucoup !

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

Discussions similaires

  1. [HF19] Disparition enregistrement HFSQL
    Par xgotgot dans le forum HyperFileSQL
    Réponses: 3
    Dernier message: 18/07/2014, 13h02
  2. [AC-2010] Disparition d'enregistrements avec Access 2010
    Par botine dans le forum Access
    Réponses: 6
    Dernier message: 15/03/2014, 17h20
  3. Disparition d'enregistrements de la base
    Par mithrendil dans le forum Hibernate
    Réponses: 3
    Dernier message: 04/01/2012, 16h36
  4. Disparition d'une partie d'un enregistrement
    Par Shankara dans le forum IHM
    Réponses: 1
    Dernier message: 06/11/2011, 23h13
  5. Disparition d'enregistrements ?
    Par bene.f dans le forum Modélisation
    Réponses: 2
    Dernier message: 02/03/2010, 17h29

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