Bonne année et bonne santé à toutes et à tous.
Merci à toutes celles et tous ceux qui partagent leurs connaissances sur ce forum.
Je vais vous mettre à contribution une nouvelle fois.
J'ai à peu près terminé la logique d'interrogation, d'insertion et de modification de la base de données (Windows 10; Lazarus 2.0.6; postgresql 11.5). Maintenant j'aimerais sécuriser tous les contacts avec cette base. J'ai donc, dans un premier temps, utilisé dans un try... except
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
on E: Exception do
        if E is EDatabaseError then
          MessageDlg('Error','Erreur Base de Données. Message technique: ' + E.Message,mtError,[mbOK],0);
Le message est correct mais un peu touffu. J'aimerais le mettre à ma sauce pour le rendre plus direct et plus percutant en partant du code d'erreur renvoyé par la base de données, par exemple 23505 pour la violation d'unicité. J'ai donc essayé d'utilisé EPQDataBaseError dans un try... except
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
on E: Exception do
        if E is EPQDatabaseError then
          Showmessage((E as EPQDatabaseError).SQLSTATE);
et là boum Error: Identifier not found "EPQDatabaseError". Je ne sais pas dans quelle unité se trouve cet identifiant et si ce que j'essaye de faire est possible.
Merci d'avance pour votre aide, Michel.