Bonjour,
Pour executer mes requetes j'utilise une classe crée par mes soins dont voici le code pour une requete de type select
Le problème avec cela est que dans mon code pour mes applis je récupère le SqlDataReader
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 public SqlDataReader QueryRequete() { ValidationStrRequete(); SqlCommand Command = new SqlCommand(this.sRequete, cConnection.cpCurseur); OpenConnection(); try { return Command.ExecuteReader(); } catch (SqlException ex) { ViewException(ex); return null; } }
Le problème : Lorsque la requete échoue pour un problème de connection, de string de requete incorrecte etc... j'ai un retour "null" et cela dans mon code ce n'est pas beau à gérer
Code : Sélectionner tout - Visualiser dans une fenêtre à part SqlDataReader drTriplet = cGpe.QueryRequete();
J'ai ma méthode ViewException qui va m'afficher le message d'erreur mais après cela je n'ai aucun blocage de l'application.
Elle va récupérer le SqlDataReader null et essayer (impossible) de travailler avec.
J'avais bien mis des tests drReader.HasRows après la récupération et avant l'execution de mon code mais je n'avais pas pensé au drReaer != null ....
Et vu le nombre de Reader que je récupère je em demande si c'est vraiment efficace de rajouter le != null ou depuis la méthode QueryRequete() directement de faire un autre retour, ou bloquer le programme, relancer en début de méthode appelante, retourner sur le form ou quelque chose dans le genre.... le plus effice pour l'utilisateur en fait.
Merci pour vos idée.
Partager