DataReader déjà ouvert

akuma7 Messages postés 5 Date d'inscription dimanche 11 avril 2010 Statut Membre Dernière intervention 9 mai 2011 - 29 avril 2011 à 09:30
assoudona Messages postés 9 Date d'inscription mercredi 17 avril 2002 Statut Membre Dernière intervention 5 mai 2011 - 5 mai 2011 à 08:31
Bonjour,
j'ai un combobox dans lequel je selectionne un id_commande, aprés je clique sur un linklabel pour afficher les details de cette commande(dans un autre form). je veux que l'id, la date et le client qui a passé cette commande, je veux que ces infos s'affichent dans des label, et les reference ,la quantité commandé ainsi que la quantité sortie je les affiche dans un datagridview.
voici mon code :
Dim dr1 As SqlDataReader

Dim tab As New DataTable
If tab.Rows.Count <> 0 Then
DataGridView1.Rows.Clear()
End If

Dim cm1 As New SqlCommand("select commande.id_commande, commande.date, commande.nom from avoir,commande where avoir.id_commande=commande.id_commande and commande.id_commande=" & Form1.ComboBox6.SelectedItem, c)
dr1 = cm1.ExecuteReader
While dr1.Read
Label5.Text = dr1.GetValue(0)
Label2.Text = dr1.GetValue(1)
Label4.Text = dr1.GetValue(2)

End While

dr1.Close()

Dim cm2 As New SqlCommand("select avoir.reference as 'Références commandées',avoir.quantité_commandée as 'Quantité commande',avoir.qté_sortie as 'Quantité Sortie' from avoir,commande where avoir.id_commande=commande.id_commande and commande.id_commande=" & Form1.ComboBox6.SelectedItem, c)

dr1 = cm2.ExecuteReader
tab.Load(dr1)
DataGridView1.DataSource = tab
dr1.Close()

.
quand je clique sur le linklabel, un msg d'erreur s'affiche ; un dataReader associer à cette commande est deja ouvert :s comment puis je le resoudre sachant que je doit travailler en mode connecté .
Merci d'avance pour votre aide

2 réponses

alexandrevandenberghe Messages postés 149 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 16 juillet 2013 6
29 avril 2011 à 11:06
Bonjour,
Peux tu me dire où cette erreur s'affiche?

Je suppose que c'est à la premiere requete...

Pour eviter ce message, il faut que tu créé une nouvelle connection et que tu bosses avec cette nouvelle connection...

Je pense que ton erreur viens du fait qu'un datareader est ouvert sur la connection "c" dans l'autre fiche...
0
assoudona Messages postés 9 Date d'inscription mercredi 17 avril 2002 Statut Membre Dernière intervention 5 mai 2011
5 mai 2011 à 08:31
Bonjour,
J'epere que tu as trouvé satisfaction. Sinon, déplace ta commande dr1.close() dans la boucle while...End while et exécute

Bonne chance
0