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 :

gerer erreurs de base de données


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 249
    Points : 111
    Points
    111
    Par défaut gerer erreurs de base de données
    salut la famille

    j'ai crée une procedure pour gérer à ma manièrre les erreurs lors d'un nouveau enregistrement. Par exemple les erreurs de clé, de champs manquants...
    je désire envoyer un message sympat à l'utilisateur et non des message du genre
    Le projet ....exe a provoqué une classe d'exceptioon EIBInterbaseError avec le message 'violation of Primary KEy constraint "INTEG_4" on table zzz".Processus stoppé...
    . des messages comme vous avez dejà attribuer ce numero matricule à un utilisateur, désirez vous le modifier?
    vous voyez non!!!
    voici la procedure que j'ai dans l'evènement OnPostError de ma table:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure Maform.TablePostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    begin
       if  (E is EDatabaseError) then
       with EIBError (E) do
       case IBErrorCode of
           805: MessageDlg('Ce code ou numéro existe déja', mtInformation, [mbOk],0);
           341: MessageDlg('Une ou plusieurs zones obligatoires  sont sans valeurs', mtInformation, [mbOk],0);
           // Etc,.....
           else MessageDlg(IntToStr(IBErrorCode)+ ' ' + Message, mtInformation, [mbOk],0);
      end;
    end;
    Le problème c'est que malgré tout, je reçois le mesage d'exception de ma base. Comment procéder donc.

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    En mode débogage, oui c'est normal. As-tu fais le test en lançant directement ton exe ?

    @+ Claudius

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 667
    Points : 5 235
    Points
    5 235
    Par défaut
    En mode débogage, oui c'est normal. As-tu fais le test en lançant directement ton exe ?
    +1

    Si tu as toujours le problème ensuite, je te suggère de faire ces tests avant l'insertion en base de données

    805: MessageDlg('Ce code ou numéro existe déja', mtInformation, [mbOk
    =>Une simple requete te permet de savoir si le numéro existe déjà.

    MessageDlg('Une ou plusieurs zones obligatoires sont sans valeur
    =>If (mazone.text = '') then ....

Discussions similaires

  1. Réponses: 7
    Dernier message: 09/11/2007, 16h53
  2. erreur de base de données
    Par paolo2002 dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 06/06/2007, 11h43
  3. erreur acces base de donnée.
    Par Phiss dans le forum ASP
    Réponses: 8
    Dernier message: 08/11/2006, 10h49
  4. erreur connexion base de données access
    Par Adren dans le forum ASP
    Réponses: 17
    Dernier message: 22/06/2006, 08h34
  5. Réponses: 2
    Dernier message: 19/06/2003, 21h58

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