arkele
Messages postés20Date d'inscriptionsamedi 19 juillet 2003StatutMembreDernière intervention28 juin 2005
-
27 juin 2005 à 08:14
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 2011
-
30 juin 2005 à 19:54
J'utilise une base de données SQl Server.
Comme dans mon application j'utilise un grand nombre de reader, j'ai créé une fonction SQL_Reader qui permet de créer un reader à partir d'une requêt SQL placée en paramètre de ma fonction.
Ma fonction est la suivante :
Public
Function SQL_Reader(
ByVal Req_SQL
As
String)
As SqlDataReader
Dim oConn
As
New SqlConnection(ConfigurationSettings.AppSettings("SqlServer"))
oConn.Open()
Dim myCommand
As SqlCommand =
New SqlCommand(Req_SQL, oConn)
Dim monSQL_Reader
As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
SQL_Reader = monSQL_Reader
End
Function
Je renvoie le reader. Le problème s'est que je ne sais pas comment fermer ma connexion à ma base de données vu que oConn est déclaré dans ma fonction.
Si je ne la ferme pas, il me dit qu'une connexion est déjà ouverte lorsque je veux créer un nouveau reader.
Où dois je fermer ma connexion,
arkele
Messages postés20Date d'inscriptionsamedi 19 juillet 2003StatutMembreDernière intervention28 juin 2005 28 juin 2005 à 08:19
c'est pas possible que je le ferme dans ma fonction car je ne pourrai plus utiliser le reader par la suite. si je mets oConn.close dans cette fonction, il va m'ouvrir ma connexion, créer le reader et me fermer ma connexion ce qui va m'empêcher de pouvoir utiliser mon reader. J'ai essayé et le message d'erreur était : "tentative non valide de lecture...".