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 d'une erreur


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Points : 36
    Points
    36
    Par défaut gestion d'une erreur
    Bonjour,
    Dephi 5
    ADO
    Access 97

    lors d'une recherche d'un enregistrement, si celui-ci n'est pas trouvé un message d'erreur apparaît.

    Pour géere cette erreur j'ai implanté la routine suivante !
    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
     
    PresRot:=ADOQuery1.Fields[0].AsString;
         if PresRot = '' then
         begin
           ShowMessage('Aucun titre ne correspond à votre demande');
           recherche:='';
         Titre1:='';
         Titre2:='';
         Edit1.Text:='';
         if flag = 0 then
         begin
         ADOQuery1.First;
         ADOQuery1.Active:=FALSE;
         ADOQuery1.SQL[1]:='';
         ActiveControl:=Edit1;
         flag :=1
         end;
         end;
    Donc si Presrot reste vide, le message apparaît.

    Mon problème est le suivant :
    Tout se passe bien avec Windows 98, windows 2000 mais windows XP semble complètement ignorer cette routine, me met le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    BOF ou COF a true ou l'enregistrement actuel a été supprimé - l'opération demande nécessite un enregistrement actuel
    Message que j'obtenais avec les autres os avant d'implanté cette routine

    Auriez-vous une explication à celà ?

    Merci

  2. #2
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    Je pense qu'il n'apprécie pas le First sur le Dataset vide...

    Je te propose de coder la gestion d'erreur ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if (ADOQuery1.Bof) and (ADOQuery1.Eof) then
    begin
         ShowMessage('Aucun titre ne correspond à votre demande'); 
         recherche:=''; 
         Titre1:=''; 
         Titre2:=''; 
         Edit1.Text:=''; 
         ADOQuery1.Close; 
         ActiveControl:=Edit1; 
    end;

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Points : 36
    Points
    36
    Par défaut
    merci

    j'essaie tout de suite mais n'aurai la réponse que + tard !
    j'ai pas XP alors j'envoie à mon testeur !


  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Points : 36
    Points
    36
    Par défaut
    Salut,

    Milles excuses pour cette réponse très tardive !

    Mais ca marche toujours pas sur XP !
    J'ai bien le message qui me dit qu'il n'a pas trouvé d'enregistrement et lorsque le clique sur OK il me mets toujours le même message et je suis obligé de sortir intégralement du programme pour faire autre chose !

    Ce que je trouve bizarre, c'est que ca fonctionne avec tous les autres os !


  5. #5
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    Peux-tu me vérifier que
    -Edit1 n'est pas un composant DB relié à l'ADOQuery
    -qu'aucun événement (genre OnExit, OnEnter) n'est généré par l'affectation à ActiveControl ?

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Points : 36
    Points
    36
    Par défaut
    salut,
    Non l'Edit1 se sert qu'à entrer la recherche et son contenu est alors transféré dans une variable et il n'y a aucune fonction onExit ou onEnter

  7. #7
    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
    Tu utilises delphi 5, as-tu mis à jour ta version ton problème ressemble à un des problèmes recensé.

    Va voir à cette page http://info.borland.com/devsupport/delphi/downloads/

    Cordialement
    Pensez à utiliser les tags dans le titre.
    Avant de poser une question reportez-vous à la FAQ Delphi
    Respectez les règles du forum.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Points : 36
    Points
    36
    Par défaut
    Merci,
    j'y cours !

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Points : 36
    Points
    36
    Par défaut
    OK,
    Merci après mises à jour tout fonctionne à merveille !


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

Discussions similaires

  1. gestion d'une erreur require()
    Par nigella dans le forum Langage
    Réponses: 1
    Dernier message: 11/12/2011, 21h41
  2. Gestion d'une erreur
    Par Just-Soft dans le forum Langage
    Réponses: 3
    Dernier message: 15/09/2008, 14h41
  3. Réponses: 15
    Dernier message: 13/10/2007, 11h39
  4. Gestion d'une erreur de cmde Windows
    Par kenny49 dans le forum Windows XP
    Réponses: 1
    Dernier message: 23/04/2007, 12h35
  5. [VBA-E] Gestion d'une erreur #N/A
    Par Mut dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 07/04/2006, 20h17

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