Fermer une connexion odbc

Résolu
engelho Messages postés 115 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 2 août 2005 - 19 avril 2005 à 14:00
Mimoza222 Messages postés 14 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 23 avril 2008 - 16 sept. 2005 à 19:20
Salut tout le monde...

J'utilise un odbcConnection ainsi que :

- un odbcCommand pour une première requete
- un odbcDataAdapter afin d'alimenter un datagrid avec une deuxième requete

Or, lorsque j'arrive à la fin de mon code et que je ferme ma connexion (en passant par odbcCommand.connection.close), et que je debug, j'obtiens une erreur qui me demande de fermer d'abord mon adapter...

Et pas moyen de trouver une fonction pour fermer l'adapter (enfin, j'ai trouvé dispose, mais ça ne marche pas...).

vu mon anglais, je vous mets le message exact : There is already an open DataReader associated with this Connection which must be closed first.

merci d'avance.

8 réponses

engelho Messages postés 115 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 2 août 2005
20 avril 2005 à 08:30
J'ai trouvé!!! lol...

En fait, je reprend depuis le début, et je donne la soluce, au cas ou... :p

J'ai bien ouvert ma connexion de façon explicite. J'utilise mon datareader pour récupérer mes résultats.

Sauf que je n'avais pas pensé a fermé a le reader avant la connexion... donc môssieur visual studio rale... lol.

Ayant le même problème sur plusieurs page (résolu bien sur), je ne peux que conseiller a ceux qui auraient ce soucis de fermer le reader le plus tot possible, il semble que l'ordre d'ouverture/fermeture soit assez strict (surtout si on cumule plusieurs reader/command dans la même page).

Voilà,

merci quand même pour toutes vos idées.
3
cs_Solution Messages postés 92 Date d'inscription lundi 4 avril 2005 Statut Membre Dernière intervention 7 août 2006
19 avril 2005 à 14:08
Bonjour,
est ce que vous pouvez mettre un bout de code.


Merci
Solution
0
engelho Messages postés 115 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 2 août 2005
19 avril 2005 à 14:08
je crois que j'ai en partie compris...

Developpant en c#, il me faut passer par la syntaxe des destructeurs...

euh.... c'est quoi ces machins? please help... :p
0
engelho Messages postés 115 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 2 août 2005
19 avril 2005 à 14:11
pour le bout de code....

ma fois euh...


odbcDataAdaAcceuil.SelectCommand.CommandText=requeteAdapterCom;


odbcDataAdaAcceuil.Fill(dataSetAcceuil);


OdbcComAcceuil.Connection.Close();

l'erreur tombe a cet endroit, parce que mon adapter n'est pas fermé au moment du close...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Solution Messages postés 92 Date d'inscription lundi 4 avril 2005 Statut Membre Dernière intervention 7 août 2006
19 avril 2005 à 14:16
voici un bout de code que j'utilise et ca marche bien:


#region Connect to Data Base


OdbcConnection objOdbcConnection =
new OdbcConnection();



try


{


objOdbcConnection = MySQL_Requettes.MyODBCOpenconnect("base","localhost","","root");




}



catch


{




}


#endregion



string strSql =" select * from Product p, Category c where c.CategoryName='"+supprod+"' and p.subcategory='"+supprod1+"'and c.CategoryID=p.CategoryID ";


OdbcDataAdapter objOdbcCommand =
new OdbcDataAdapter(strSql,objOdbcConnection);


objOdbcConnection.Close();


DataSetp.Clear();


objOdbcCommand.Fill(DataSetp,"tab");

je ne sais pas si ca vous aide.

Merci pour votre aide
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
19 avril 2005 à 14:37
Apres l'appel de la méthode Fill d'un OdbcDataAdapter, la connexion se clos toute seule, sauf si tu as explicitement appelé la méthode Connect de ta connexion, ce qui n'a pas l'air d'etre le cas.



Donc tu n'as pas a te soucier de cela

Mx
0
cs_Solution Messages postés 92 Date d'inscription lundi 4 avril 2005 Statut Membre Dernière intervention 7 août 2006
19 avril 2005 à 14:45
ok !!


! Solution
0
Mimoza222 Messages postés 14 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 23 avril 2008
16 sept. 2005 à 19:20
Mettre la ligne qui permet de fermer le DataReader ca aurait ete bien

Merci
0