Fermer une connexion odbc [Résolu]

engelho 115 Messages postés mercredi 26 mai 2004Date d'inscription 2 août 2005 Dernière intervention - 19 avril 2005 à 14:00 - Dernière réponse : Mimoza222 14 Messages postés lundi 11 juillet 2005Date d'inscription 23 avril 2008 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
engelho 115 Messages postés mercredi 26 mai 2004Date d'inscription 2 août 2005 Dernière intervention - 20 avril 2005 à 08:30
3
Merci
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.

Merci engelho 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de engelho
cs_Solution 92 Messages postés lundi 4 avril 2005Date d'inscription 7 août 2006 Dernière intervention - 19 avril 2005 à 14:08
0
Merci
Bonjour,
est ce que vous pouvez mettre un bout de code.


Merci
Solution
Commenter la réponse de cs_Solution
engelho 115 Messages postés mercredi 26 mai 2004Date d'inscription 2 août 2005 Dernière intervention - 19 avril 2005 à 14:08
0
Merci
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
Commenter la réponse de engelho
engelho 115 Messages postés mercredi 26 mai 2004Date d'inscription 2 août 2005 Dernière intervention - 19 avril 2005 à 14:11
0
Merci
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...
Commenter la réponse de engelho
cs_Solution 92 Messages postés lundi 4 avril 2005Date d'inscription 7 août 2006 Dernière intervention - 19 avril 2005 à 14:16
0
Merci
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
Commenter la réponse de cs_Solution
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 19 avril 2005 à 14:37
0
Merci
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
Commenter la réponse de MorpionMx
cs_Solution 92 Messages postés lundi 4 avril 2005Date d'inscription 7 août 2006 Dernière intervention - 19 avril 2005 à 14:45
0
Merci
ok !!


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

Merci
Commenter la réponse de Mimoza222

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.