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

Bases de données Delphi Discussion :

Annuler les modifications apportées à une table.


Sujet :

Bases de données Delphi

  1. #1
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut Annuler les modifications apportées à une table.
    Bonjour à tous,

    La question est dans le titre: J'ai une fiche reliée à une table par des DBEdit, DBLookupCombobox...Et 2 boutons: Cancel et Valider.
    Je souhaite que sur un appui sur Cancel, la table retrouve la forme quelle avait à son ouverture. Actuellement je stock les champs dans des tableaux (ou en XML) à l'ouverture, et je les réinstalle dans la table à l'appui sur cancel...Mais ça devient vite une source de ralentissement pour les grosses tables.

    Existe-il un moyen de sauvegarder et de replacer rapidement une table? Ou une meilleur façon de procéder?

    Merci bocoup, @+.
    For crying out loud !

  2. #2
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Si ta table rentre en mode édition lorsque tu entres dans la fiche, puis que tu fais un Post , lorsque tu valide ta fiche, tu peux également faire un Table.Cancel lorsque tu annules ta fiche ?
    Ainsi, aucune données ne sera validée dans ta table, qui aura ses anciennes valeurs.
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  3. #3
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut
    Je crois que je peux faire des Table.Cancel, mais alors je ne pourrais plus utiliser de DBGrid par exemple (car il faut automatiquement des mises à jour de mes tables).

    En fait je crois que mon problème c'est que je n'est pas assez d'expérience en Delphi, et que j'hésite entre utiliser des composants orientés données (en profitant des avantages comme la mise à jour, l'affichage facile...) Mais qui m'oblige à faire des sauvegardes qui prennent bocoup de temps pour gérer le cancel,

    et utiliser que des composants simples (stinggrid, edits...) Mais qui m'obligeront à gérer un affichage plus complexe et l'insertion des données sur le "valider".

    Comment quelqu'un d'expérimenter aborderais le problème??

    Merci d'avance.

    @+.
    For crying out loud !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Points : 392
    Points
    392
    Par défaut
    Si tes tables sont validées dans le SGBD, tu as peut être la possiblité SQL de faire un rollback sur tes tables...

    Bon code

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    essaye de demarrer une Transaction da ton ADOConnection/DataBase avant de passer en mode edition (biensure tu teste si aucune transaction n'est encours) puis tu fait tes modification et meme tu peut moster plusieurs enregistrements a la fin de tes mise a jours soit tu COMMIT ou tu ROLLBACK ta Transaction dans cas ou tu Annule ta transaction "ROLLBACK" toutes les tables retrouverons leurs données a l'etat initial

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par a_belamirouche
    essaye de demarrer une Transaction da ton ADOConnection/DataBase avant de passer en mode edition (biensure tu teste si aucune transaction n'est encours) puis tu fait tes modification et meme tu peut moster plusieurs enregistrements a la fin de tes mise a jours soit tu COMMIT ou tu ROLLBACK ta Transaction dans cas ou tu Annule ta transaction "ROLLBACK" toutes les tables retrouverons leurs données a l'etat initial
    Le problème avec ta solution, si l'application est en réseau, les autres personnes doivent attendre que la transaction finisse avant de pouvoir valider leurs modifications.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

Discussions similaires

  1. Mettre en évidence les modifications apportées dans une BDD
    Par leara500 dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 15/02/2013, 20h34
  2. comment annuler la modification dans une table Paradox ?!
    Par messahel dans le forum Bases de données
    Réponses: 5
    Dernier message: 01/03/2012, 15h47
  3. Tracer les modification dans une table Oracle
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 3
    Dernier message: 21/09/2010, 11h48
  4. empecher les modifications d'une table
    Par moicats dans le forum Access
    Réponses: 2
    Dernier message: 05/04/2006, 16h39
  5. Tracer les modifications d'une table
    Par vinze11 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/02/2006, 13h44

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