Imbrication de datareader

zekisss Messages postés 12 Statut Membre -  
NookZ Messages postés 2376 Statut Membre -
Bonjour,
comment puis-je imbriquer deux datareader de la sorte:
Dim reader1 As SqlDataReader = command.ExecuteReader()
Dim reader2 As SqlDataReader = command.ExecuteReader()

While reader1.Read()
While reader2.Read()

End While
End While

reader1.Close()
reader2.Close()

1 réponse

  1. NookZ Messages postés 2376 Statut Membre 514
     
    Bonjour,

    Est-ce que tu peux expliquer pourquoi tu veux faire ça ? j'arrive pas trop à voir là. Tu pourrais mettre un exemple de ce que retourne chaque dataReader ?
    0
    1. zekisss Messages postés 12 Statut Membre
       
      Command.CommandText = "SELECT id_produit,sum(Qte_cmd) FROM Commande where date_cmd <= ' " & date_x &" ' group by id_produit"
      Dim reader1 As SqlClient.SqlDataReader = command.ExecuteReader()
      While reader1.Read()
      Command.CommandText = "SELECT count(Qte_vendu) FROM vente where id_produit='" & reader1(0) & "'"
      Dim reader2 As SqlClient.SqlDataReader = command.ExecuteScalar()
      if reader2() then System.Console.WriteLine ( "Quantité disponible :" & reader1(1)-reader2(0)
      reader2.close

      End While
      0
    2. NookZ Messages postés 2376 Statut Membre 514
       
      Pour moi ça devrait marcher à partir du moment où tu crées bien deux sqlCommand distincts par contre tu dois faire deux choses en plus
      avant While reader1.Read(), faut que tu fasses If reader1.HasRows() then
      Et pour le reader deux, juste après Dim reader 2, faut faire
      If reader2.HasRows() then
      while reader2.Read()

      end while
      end if

      Si ça marche pas, dis-moi l'erreur que tu as
      0