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 :

Gestion des exception (EOleException)


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 46
    Points : 18
    Points
    18
    Par défaut Gestion des exception (EOleException)
    Bonjour,

    je fais des insertions dans une table Oracle (5champs)
    j'ai une clé primaire sur les 5 champs qui me permet de gérer les doubles.
    Je voudrai qu'à chaque fois qu'il ya un double au lieu que l'éxection s'arrete que je puisse incrémenter un compteur et que l'éxecution passe à l'instruction suivante.
    j'ai fais le code suivant mais j'arrive pas à lever l'exception EOLEException.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Try
                         with Form1.ADOTable1 Do
                          begin
                            // on insère un enregistrement vide
                            Append;
                            // qu'on remplit...
                            FieldValues['demande'] := dde;
                            FieldValues['demandeur'] := ddr;
                            FieldValues['duree'] := dur;
                            FieldValues['heure'] := hh;
                            FieldValues['date_appel'] := dte;
                            Refresh;
                          end;
                        Except
                          on E:EOLEException do
                            doubl := doubl + 1;
                        End;
    l'erreur est la suivante:
    Classe d'exception EOLEException avec 'ORA-00001 violation de contraite unique'
    je voudrai qu'il n'affiche plus ce message et qu'il continue en comptant le double.

    quelqu'un aurait il une idée de ce que je dois faire

    merci d'avance.

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    Et comme cela, il n'y aura pas d'arret lors de la levée de l'exception et il comptabilisera doubl

    Pour tester la procédure, lancer l'exécutable seul et non à partir de delphi ou alors désactiver les exceptions.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    with Form1.ADOTable1 Do 
      try
        // on insère un enregistrement vide 
        Append; 
        // qu'on remplit... 
        FieldValues['demande'] := dde; 
        FieldValues['demandeur'] := ddr; 
        FieldValues['duree'] := dur; 
        FieldValues['heure'] := hh; 
        FieldValues['date_appel'] := dte; 
        Refresh;  
      Except 
        doubl := doubl + 1; 
      End;

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 46
    Points : 18
    Points
    18
    Par défaut
    j'ai lancer l'exécutable mais maintenant j'ai l'erreur suivante:

    EOF est égal à true ou l'enregistrement actuel a été supprimé

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    remplace le Refresh par Post

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 46
    Points : 18
    Points
    18
    Par défaut
    je l'ai fait mais ça ne change rien
    il ya toujours le même message d'erreur

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 46
    Points : 18
    Points
    18
    Par défaut
    J'ai réglé le problème en changeant de version.
    j'utilisais delphi 5 j'ai changé pour mettre delphi7.
    et ça marche.
    merci quand même.

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

Discussions similaires

  1. [Exception]Gestion des exceptions, capture sur la classe.
    Par @lantis dans le forum Général Java
    Réponses: 9
    Dernier message: 22/07/2005, 19h43
  2. [ADOConnect] gestion des exception en tout temps
    Par portu dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/04/2005, 19h01
  3. [ORACLE 9i] Gestion des exceptions
    Par sygale dans le forum SQL
    Réponses: 6
    Dernier message: 19/08/2004, 15h06
  4. [XMLRAD] gestion des exceptions
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/01/2003, 17h48
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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