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 :

Valider une MAJ


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 55
    Points : 43
    Points
    43
    Par défaut Valider une MAJ
    Avec interbase et Delphi je souhaite valider une MAJ ou enregistrement ds ma table. En fait faire l'equivalent du commit.
    Si je fais le commit sur ma transaction, tout s'efface dans ma fenetre. Je n'ai plus de données...

    En fait je veux faire cela pour que les autre utilisateurs puissent voir le + tot possible les MAJ.

    Merci.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 33
    Points : 32
    Points
    32
    Par défaut
    En utilisant un CommitRetaining, ça ne marche pas ?

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 55
    Points : 43
    Points
    43
    Par défaut
    J'ai essayé mais si un autre utilisateur souhaite modifier le meme enregistrement j'ai un message d'erreur "deadlock"...
    D'ou cela vient-il?

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2004
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    C'est un peu comme une bagnole, tu a 5 places mais un seul volant. Si deux gars veulent se mettre au volant en même temps la voiture n'ira pas bien loin ...

    Une base en client / serveur c la même chose : si un utilisateur veut modifier le nom du client 10 en DUPONT et un autre veut modifier le même client en DURAND le serveur va refuser la deuxième modif en renvoyant une exception "Deadlock".
    Pour éviter ce genre de message c'est à toi d'utiliser les Commit, CommitRetaining et StartTransaction aux endroits nécessaires.

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 55
    Points : 43
    Points
    43
    Par défaut
    est ce que tu sais quelle est la cause du deadlock??
    Que faut il faire pour pour remettre l'enregistrement "en libre service" des que la modif a été effectuée?

    merci.

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2004
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    Si tu veut que tous les utilisateurs voient les enregistrements et leur dernières mises à jours, tu est obligé d'utiliser Commit. En effet CommitRetaining ne fait que valider tes données sur le serveur mais ne récupère pas les maj des autres postes. Par ailleurs un Commit après modification d'un enregistrement ne suffit pas pour éviter un DeadLock, il faut aussi en avoir fait un avant.
    Pour le placement des Commit, en général c'est à l'ouverture ET à la fermeture des fiches de visu et de saisie.
    Tu peut également détourner l'exception DeadLock et la remplacer par une exception avec un message clair informant l'utilisateur qu'un autre utilisateur a modifier l'enregistrement en question.
    Ou alors avoir un bouton Rafraichir sur ta fiche laissant à l'utilisateur le soin de rafraichir sa visu quand il en a besoin.

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/06/2007, 09h30
  2. [Math]Valider une formule mathematique en java
    Par RolandB dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 22/04/2005, 10h09
  3. [c#] valider une textbox
    Par tomtom41 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 17/04/2005, 21h30
  4. [JTable] Valider une saisie
    Par dam21 dans le forum Composants
    Réponses: 3
    Dernier message: 25/03/2005, 17h29
  5. [DOM] Erreur pour valider une DTD
    Par lenghh dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 19/05/2004, 19h15

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