Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 02-06-2006 06:15:38

digital prophecy  
Membre Geek
Date d'inscription: 29-05-2006
Messages: 55
Pépites: 310
Banque: 0

[RESOLU] Intercepter les erreurs de Base de données

Bonjour à tous !

Comment puis-je récupérer par TRY - CATCH les erreurs de bases de données, les identifier et afficher un message plutôt compréhensible à l'utilisateur ?

Je m'explique :

L'utilisateur insère un doublon dans un champ indexé : fo que je connaisse par exemple le numéro l'erreur qui s'affiche affin d'afficher un message particulier.

Merci !

Hors ligne

 

#2 02-06-2006 08:19:19

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] Intercepter les erreurs de Base de données

bon, je ne connais pas trop le systeme du TRY CATCH, vu que je suis sur pb7...

mais y a toujours moyen...de faire autrement.

premierement, c'est une erreur qui proviendrait de la Datawindow ? ou d'une procédure stockée ?

Sinon, pour ca !
pour l'histoire du doublon...

Dans un evenement 'Avant_Enregistrer', tu fais le controle de validation.
et tu mets tes messages d'erreurs en fonction de cela...
si tout se passe bien, tu passes alors à l'update.
sinon, un simple Return.

Enfin, c'est comme cela qu'on procède...
soit le controle est fait dans un evenement powerbuilder, soit carrement dans la procédure stockée de création ou de mise à jour.

A+


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#3 02-06-2006 08:47:26

digital prophecy  
Membre Geek
Date d'inscription: 29-05-2006
Messages: 55
Pépites: 310
Banque: 0

Re: [RESOLU] Intercepter les erreurs de Base de données

En fait, j'ai enrichi une datawindow controle, je lui ai associé un évènement de validation, et est triggé juste avant l'update, et ça marche.
Mais comparativement à Delphi par exemple, y a moyen de gérer une érreur qu'envoie le SGBD et afficher un message compréhensible par le user. Je sais pas si les gens de Sybase n'ont pas pensé dans ce sens !

Bien, merci beaucoup.

Hors ligne

 

#4 05-06-2006 13:21:52

PB2  
Membre Geek
Date d'inscription: 05-06-2006
Messages: 36
Pépites: 280
Banque: 0

Re: [RESOLU] Intercepter les erreurs de Base de données

Bonjour,

On peux intercepter les messages d'erreur de SGBD dans l'événement dberror de la DW.
Ici on peux récupérer le code d'erreur (sqldbcode) et les messages en Anglais.
Fais "return 1" pour empêcher PB d'afficher les messages d'origine et traite l'erreur avec ton propre message.
(programme ce traitement dans l'ancêtre de la DW)

A+

Hors ligne

 

#5 06-06-2006 13:59:02

digital prophecy  
Membre Geek
Date d'inscription: 29-05-2006
Messages: 55
Pépites: 310
Banque: 0

Re: [RESOLU] Intercepter les erreurs de Base de données


Magnifique, c'est ce genre de chose que j'apprécie !!
J'y vais de ce pas essaier ce que tu m'a montré !

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22