Bonjour,
Je réalise une application en utilisant Firebird version 2.1 et Zeoslib version 6.6.6. Tout ceci avec delphi 7
Lorsqu'une erreur se produit dans la base, elle retourne un code d'erreur que je n'arrive pas récupérer. Je n'ai pas trouvé l'unité de Zeoslib à inclure dans les uses pour obtenir les codes d'erreurs de Firebird.
Par contre, je récupère bien le message. Cependant, je voudrais faire un traitement particulier pour certaines erreurs. Exemple -530 erreur liée au Foreign Key.
Actuellement, j'utilise ce code.
MsgDlg est une boîte qui personnalise l'affichage des messages.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 dm.ZConnect.StartTransaction; try ExecSQL; dm.ZConnect.Commit; except on E: Exception do begin lTest := False; MsgDlg(E.Message, mtError, ['mbOk'], ed3.ClientOrigin.Y + ed3.Height, pnl1); if dm.ZConnect.InTransaction then dm.ZConnect.Rollback; end; end;
Je dois certainement remplacer "on E: Exception do" par une autre instruction, mais quoi ?
Si quelqu'un peut me donner la réponse pour récupérer le code d'erreur, "E.CodeError", il me rendrait service.
Merci à tous de vos réponses, lesquelles me permettront de résoudre cette petite difficulté. Le code d'erreur apparaissant dans "E.Message", je peux faire un bidouillage, mais cela ne correspond à ma façon de faire. De plus, je suis sûr qu'il y a une solution propre, mais l'aide de Zeoslib est un peu short ou alors c'est mes propres compétences qui sont trop faibles.
Merci à tous
Partager