Vb.net

hamaing Messages postés 6 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 17 avril 2011 - 10 mai 2010 à 18:12
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 10 mai 2010 à 20:07
salut tout le monde,je suis entrain de développer une application pour une cabinet medicale.
apres l'execution il m'affiche l'erreur suivante:
Un DataReader associé à cette commande est déjà ouvert. Il doit d'abord être fermé.
et dans le code de la fonction precedante le data reader est fermé.
qu'est ce que je dois faire?
merci

3 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
10 mai 2010 à 19:20
salut,

Sans code difficile de repondre.

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.isclosed%28v=VS.100%29.aspx

testes avec le debogeur et les espions la proprietes isclosed de ton objet datareader.

bon dev
0
hamaing Messages postés 6 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 17 avril 2011
10 mai 2010 à 20:02
Public Function GetById(ByVal value As Integer) As Secretaire
Dim cmd As New SqlCommand("select * from Secretaire where Id_Sec=" & value & "", cnx)
If cnx.State = ConnectionState.Closed Then
cnx.Open()
End If
-> ici la faute Dim rd As SqlDataReader = cmd.ExecuteReader()
Dim sec As New Secretaire()
While rd.Read()

sec.id = rd.GetValue(0)
sec.nom = rd.GetValue(1)
sec.prenom = rd.GetValue(2)
sec.tel = rd.GetValue(3)



End While

rd.Close()
cnx.Close()
Return sec
End Function
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
10 mai 2010 à 20:07
Désolé je vois pas le probleme.

Regardes avec le débogueur.
0
Rejoignez-nous