Problème datareader

Signaler
Messages postés
16
Date d'inscription
samedi 21 mars 2009
Statut
Membre
Dernière intervention
4 mai 2009
-
Messages postés
23
Date d'inscription
mardi 22 janvier 2002
Statut
Membre
Dernière intervention
16 novembre 2009
-
Bonjour,

Sous VB.NET, je dois exécuter une deuxième commande à partir du résultat retourné par le datareader.

Cmd1 = MyConnexion.CreateCommand()
Cmd1.CommandText = "select * from t1"
myReaderCmd1 = Cmd1.ExecuteReader()

While myReaderCmd1.Read

Cmd2 = New SqlCommand("ps", MyConnexion)
Cmd2.CommandType = CommandType.StoredProcedure
Cmd2.Parameters("@p1").Value =
myReaderCmd1.GetString(0)

'j'ai d'autres parametre + un param output
Cmd2.ExecuteScalar()

'la ps(procédure stockée) retourne une valeur que je dois insérer dans une autre table + des informations retournées par le datareader. --- > donc j'ai créé une 3ème commande(d'insertion)

End while

Voila le message d'erreur qui s'affiche :

[b]Un DataReader associé à cette commande est déjà ouvert. Il doit d'abord être fermé.

Cette erreur cconcerne cette ligne du programme :

Cmd2.ExecuteScalar()/b

Merci pour vos aides

1 réponse

Messages postés
23
Date d'inscription
mardi 22 janvier 2002
Statut
Membre
Dernière intervention
16 novembre 2009

Je sais pas trop ce que tu dois faire avec ces 2 datareader ...
Mais pourquoi ne pas utiliser un inner join ??
Je pense que ton problème vient plutot du sql ...