De MSDN:Pourquoi ne puis-je pas utiliser une instance SqlConnection tant que SqlDataReader n'est pas fermé?
Alors que le SqlDataReader est utilisé, le SqlConnection associé est occupé à servir SqlDataReader, et peut être aucune autre opération sur le SqlConnection autre que fermer. C'est le cas jusqu'à ce que la méthode Close de SqlDataReader soit appelée. Par exemple, vous ne pouvez pas récupérer les paramètres de sortie avant d'avoir appelé Fermer.
a) Pourquoi n'avez-vous pas utilisé SqlConnection pour autre chose? Après tout, lorsque ExecuteQuery()
renvoie l'objet SqlDataReader, les données de la base de données ont déjà été récupérées et l'objet SqlDatareader est rempli. Donc je ne vois pas comment ou pourquoi SqlConnection devrait toujours servir l'objet SqlDataReader ?!
b) Plus important encore, pour quelle raison serait-il une mauvaise idée de récupérer les paramètres de sortie avant d'appeler Close()
sur SqlDataReader?
c) Lorsque la citation ci-dessus mentionne qu'aucune autre opération ne peut être effectuée sur SqlConnection, quelles opérations a-t-elle en tête? Juste ceux qui auraient besoin de se connecter au serveur SQL distant, ou nous ne pouvons pas utiliser les membres de l'instance SqlConnection?
Merci.
Embarrassant - J'ai placé le mauvais script. – Graham