Problème datareader

pigeon11 Messages postés 16 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 4 mai 2009 - 4 nov. 2009 à 20:30
cs_Ethan Messages postés 23 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 16 novembre 2009 - 16 nov. 2009 à 20:14
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

cs_Ethan Messages postés 23 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 16 novembre 2009
16 nov. 2009 à 20:14
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 ...
0
Rejoignez-nous