Bonjour à tous,

Voici ma fonction qui se connecte à la base et qui récupère des données ds le dataset:

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
30
31
32
33
34
35
36
37
38
Public Function GetCAStockProgramme(ByVal idProgramme As Integer) As DstCAStockProg
 
'variables
Dim oDstCAStockProg As New DstCAStockProg
Dim StrSql As String
 
Dim MySqlCmd As MySqlCommand
Dim MySqlDAdapt As New MySqlDataAdapter
Dim MySqlCn As New MySqlConnection(gcnx)
 
'Requete Sql
 
 
StrSql = " select programme.idProgramme as idProgramme, programme.nom as ProgrammeNom, ensembles.id as idEnsemble, ensembles.nom as EnsembleNom, residences.id as idResidence, residences.nom as ResidenceNom, count(lot.idLot) as NbLots, sum(if(idStatut=4,1,0)) as NbStatutActe, sum(if(idStatut=4,montantTtc,0)) as montantTtcActe,sum(if(idStatut <>4 and idStatut>0,1,0)) as NbStatutLibre, sum(if(idStatut<>4 and idStatut>0,montantTtc,0)) as montantTtcLibre "
StrSql &= " from ensembles left join programme on programme.idProgramme=ensembles.idProgramme "
StrSql &= " left join residences on ensembles.id=residences.idEnsemble "
StrSql &= " left join lot on residences.id=lot.idResidence "
StrSql &= " left join statutlot on lot.idStatut=statutlot.idStatutLot "
StrSql &= " where programme.idProgramme = " & idProgramme
StrSql &= " group by idEnsemble, idResidence "
 
'ouverture de la connexion
MySqlCn.Open()
 
MySqlCmd = New MySqlCommand(StrSql)
MySqlCmd.Connection = MySqlCn
 
MySqlDAdapt.SelectCommand = MySqlCmd
oDstCAStockProg.Clear()
MySqlDAdapt.Fill(oDstCAStockProg, "CAStockProg")' l'erreur se fait ici
 
'fermeture de la connexion
MySqlCn.Close()
 
Return oDstCAStockProg
 
 
End Function
Tout va bien, jusqu'à ce que j'arrive à ma ligne en rouge, j'ai un msg qui apparait : "There is already an open DataReader associated with this Connection which must be closed first."
j'ai vu sur plusieurs forum qui proposait de mettre : dataset.Clear() mais ça n'a pas marché, j'ai vu également qu'il fallait mettre ds la chaine de connexion : MultipleActiveResultSets = true , je l'ai fait aussi mais ça ne marche tjrs pas, est-ce que quelqu'un peut m'aider??
merci d'avance