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

Accès aux données Discussion :

[VB.net 2003] Annuler les dernieres modifications d'une base de donnée


Sujet :

Accès aux données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 27
    Points : 41
    Points
    41
    Par défaut [VB.net 2003] Annuler les dernieres modifications d'une base de donnée
    Je programme actuellement en VB.net 2003 en lien avec une base de donnée access.
    Dans cette application, une fenetre est ouverte, et elle modifie un certain nombre de DataTables qu'elle doit stocker au fur et a mesure dans la base afin de recuperer les clés primaires (generer par access, et qui sont utiles dans d'autres tables elles meme modifiées).
    Je souhaiterais pouvoir annuler les modifications des bases de données a la fermeture de la fenetre. J'ai envisagé une solution :
    - recuperer le DataSet en debut de class et le replacer dans la BD a la fermeture de la fenetre grace a la commande "OleDbDataAdapter.update" mais cette commande se contente de remplacer les lignes dont le "DataRowState" n'est pas "Unchange" ce qui n'est pas le cas dans le DataSet du debut.

    Existe t il une autre solution que de vider toutes les tables pour les reremplir avec mon DataSet de sauvegarde (méthode un peu lourde si les tables sont nombreuses et bien fournies en entrés. De plus cela m'obligerais a changer les clés primaires et donc toutes les references a celles ci) ?

  2. #2
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    a vue de nez je verrais trois pistes

    Un mode transactionnel
    Une récupération d'inof pour générer les clés localement
    une manipulation du fichier mdb

  3. #3
    Membre à l'essai
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    Bonjour

    Vous pouvais utiliser un seul dataSet, pour le schéma qui vous intéresse (dataTable et dataRelation)
    Dans ce cas la gestion de changement de clé entre votre dataSet et ta base de donnée sera géré automatiquement
    Puisque vous utiliser des clés généré automatiquement je suppose (auto incrément) vous devais spécifier dans le dataSet (le Pa d'avancement de vos clé de table) et en fin de compte maitre les oledataadapter.update dans le bon ordre, si vous géré vos update dans le cadre d’une seule transaction sa serais pas mal aussi


    Remarque : je fais sa avec SQL server, pour Access je ne donne pas de garantie

Discussions similaires

  1. Détecter les modifications sur une base de données
    Par abdelhamidem dans le forum Débuter
    Réponses: 7
    Dernier message: 09/02/2009, 18h16
  2. Sauvegarder les derniers enregistrements d'une base
    Par Concombre Masqué dans le forum Administration
    Réponses: 2
    Dernier message: 16/08/2008, 15h04
  3. Réponses: 2
    Dernier message: 08/06/2006, 17h42
  4. Réponses: 3
    Dernier message: 15/05/2006, 00h39
  5. Réponses: 1
    Dernier message: 23/10/2005, 00h55

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