Bonjour,

J'exploite une base de données SQL SERVER sur laquelle je suis entrain de remplacer de nombreux contrôles d'integrité (faits à l'origine par programmation c#) par des relations et contraintes directement dans la base.

Rien à dire sur le côté sécurité et fiabilité des données.

Cela dit, côté remontée des messages d'erreur, c'est pas terrible. Les messages techniques ne sont pas directement exploitables par un utilisateur.

En effet, impossible de servir un
The insert statement conflicted with the foreign key constraint... ... ...
à un utilisateur lambda.

J'ai alors essayé d'utiliser le namespace System.Data.SqlClient.SqlException et d'interpreter la propriété "number" (integer correspondant au numéro de message sql remonté).

Je pourrai m'en sortir comme cela, mais c'est pas très propre, il faut tester le code erreur en dur.... mouaip... pas terrible.

En même temps je me dis, il doit quand même y avoir une manière plus sérieuse pour gérer cela, non ?

Comment faites-vous ?

Merci d'avance,