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 :

Recuperer résultat trigger dans delphi


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 72
    Points : 31
    Points
    31
    Par défaut Recuperer résultat trigger dans delphi
    Bonjour tout le monde!

    Voila j'ai une application en delphi 2010 et une base de données SQL Server 2008.
    Sur celle-ci j'ai placé un trigger sur ma table client pour empêcher la mise à jour d'un enregistrement,
    dans sql server si je fais un update sur ma table client, l'action est annulée et le message d'erreur est affiché comme prévu dans le trigger.

    Mais si je modifie un enregistrement depuis mon application delphi, je n'ai aucun retour, pas de message d'erreur, aucun moyen de savoir si la modification a été enregistré ou pas.

    j'ai mis un try...except au moment de la mise à jour (dans mon bouton applyUpdates) j'ai mis ceci dans except ( e est de type EDatabaseError)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ShowMessage(e.message);
    et là j'ai le message d'erreur suivant
    ...classe d'exception EAccessViolation avec le message 'Violation d'accès à l'adresse 005CEB51 dans le module 'Projet_client'. Lecture d'adresse 00000004
    Il doit me manquer une étape. Quelqu'un peut m'expliquer comment faire ou m'orienter vers un site où ce serait expliqué? J'ai essayé de chercher mais je n'ai rien trouvé :/

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 72
    Points : 31
    Points
    31
    Par défaut
    j'ai oublié de préciser que je travaille avec dbExpress

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 72
    Points : 31
    Points
    31
    Par défaut
    j'ai trouvé la solution, il me suffisait juste de définir l'une des propriétés du TDataSetProvider plus précisément sa propriété OnUpdateError et avec ce code tout à marcher correctement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.DataSetProvider1UpdateError(Sender: TObject;
      DataSet: TCustomClientDataSet; E: EUpdateError; UpdateKind: TUpdateKind;
      var Response: TResolverResponse);
    begin
    showmessage( E.Message );
    end;

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

Discussions similaires

  1. Récupérer un résultat de script VBS dans Delphi
    Par Homer dans le forum Langage
    Réponses: 6
    Dernier message: 05/10/2011, 15h16
  2. Réponses: 13
    Dernier message: 27/04/2011, 16h59
  3. Recuperer un identifiant dans le trigger
    Par freud dans le forum SQL
    Réponses: 11
    Dernier message: 04/11/2010, 18h16
  4. delphi - afficher résultat query dans DBGrid
    Par syphon22 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 10/11/2009, 13h32
  5. Recuperer résultat trigger
    Par kahya dans le forum Développement
    Réponses: 4
    Dernier message: 07/02/2007, 18h13

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