Bonjour à tous ceux qui voudront bien m'aider (et en moindre mesure aux autres )

Comme ma présence doit le trahir, j'ai un petit problème que j'aimerai vous soumettre dans l'espoir que vous pouriez éclairer ma lanterne.

Je dévellope une procédure stockée sous VB.net pour une base de donné SQL Serveur 2005, et je me sers de Visual Studio Pro 2005 pour déployer mes procédures stockées sur le serveur SGBD.

Je vous soumet le code suivant qui a pour but de selectionner le contenue d'une table, et dans remplir une seconde avec les réponses générées par ma première requête.
Ca donne cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Imports Microsoft.SqlServer.Server
 
Partial Public Class StoredProcedures
    <Microsoft.SqlServer.Server.SqlProcedure()> _
    Public Shared Sub transfertResultat(ByVal unnocourse As Integer)
        Using maConnexion As New SqlConnection("context connection = true")
            maConnexion.Open()
 
            Dim maCommande As SqlCommand = New SqlCommand("SELECT * FROM dbo.participer WHERE nocourse = " & unnocourse & " ORDER BY tpsrealise", maConnexion)
            '          SqlContext.Pipe.ExecuteAndSend(maCommande)
            Dim reader As SqlDataReader = maCommande.ExecuteReader
            Dim i As Integer
            i = 1
            While reader.Read()
 
                Dim lacommande As SqlCommand = New SqlCommand("INSERT INTO dbo.classement (idcourse, idskieur, classement) VALUES (" & reader.GetValue(1).ToString & "," & reader.GetValue(0).ToString & "," & i & ")", maConnexion)
 
                lacommande.ExecuteNonQuery()
                i = i + 1
            End While
            reader.Close()
            maConnexion.Close()
        End Using
    End Sub
End Class
Cela me génère l'erreur suivante quand j'appel cette procédure sous SQL Serveur 2005 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Msg 6522, Niveau 16, État 1, Procédure transfertResultat, Ligne 0
Une erreur .NET Framework s'est produite au cours de l'exécution de la routine ou de la fonction d'agrégation définie par l'utilisateur 'transfertResultat' : 
System.InvalidOperationException: There is already an open DataReader associated with this Command which must be closed first.
System.InvalidOperationException: 
   at System.Data.SqlClient.SqlInternalConnectionSmi.ValidateConnectionForExecute(SqlCommand command)
   at System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command)
   at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at SqlServerProject1.StoredProcedures.transfertResultat
Je n'ai aucune idée d'où cela peut provenir.
Je vous remercie d'avance sur l'aide que vous pouriez me fournir aussi modeste soit elle.