Des requtes dans une seule Class avec une seul connection

Résolu
Signaler
Messages postés
20
Date d'inscription
dimanche 6 avril 2008
Statut
Membre
Dernière intervention
14 juin 2008
-
Messages postés
20
Date d'inscription
dimanche 6 avril 2008
Statut
Membre
Dernière intervention
14 juin 2008
-
    Bonjour!

 je suis entrain d'effectuer une classe dans la quelle je veux faire 2 select's!! j'ai fais ma premiere requete c'etais bon mais la suivante puisque j'ai fermer le rd=cm.Executereader(); //rd.close il ne l'accede plus pour lui le reader est clos! et j'ai pas fermer la connection qu'apres le finnaly!

try{

                 string  sql1 = "ma requete1";
                conn.Open();
                SqlCommand cd1 = new SqlCommand(sql1, conn);
                SqlDataReader result_sql1 = cd1.ExecuteReader();
                    int i=1;
                    while (result_sql1.Read())
                    {
                        ///////
                    }
 
                    result_sql1.Close();
                 

               string  sql2 = "ma requete2";

                SqlCommand cd2 = new SqlCommand(sql2, conn);

                SqlDataReader result_sql2 = cd2.ExecuteReader();

                    int j=1;

                    while (result_sql2.Read())

                    {

                        ///////

                    }
                    }

            catch (Exception Ex)
            {

  MessageBox.Show("Impossible d'ouvrir la connexion a la base verifier vous champs svp(" + Ex.Message + ")", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);

            }
            finally
            {
                conn.Close();
              
            }
STP une reponse parceque je me bloque avec cette requete qui fonctionne pas! MERCIIIII

3 réponses

Messages postés
27
Date d'inscription
jeudi 8 juillet 2004
Statut
Membre
Dernière intervention
5 novembre 2008

Bonjour,
- Personnellement, quand je dois faire ce que tu veux faire, je crée 2 connexions différentes (c'est d'ailleurs ce qui sera fait en utilisant les dataset typés).
- dans le finally, il faut tester (if(conn.State!=ConnectionState.Closed)) si la connection est ouverte avant de la fermer. Si le conn.Open() a échoué, conn.Close() risque de lever une exception qui ne sera pas interceptée par ton catch (le finally intervenant apres le catch).
Messages postés
20
Date d'inscription
dimanche 6 avril 2008
Statut
Membre
Dernière intervention
14 juin 2008

    Est ce que vous pouvez me donner un petit exemple d'utilisation de DataSet!! dans mon cas j'ai utiliser les DataReader et je crois que c'est de là que vient mon probleme parcequ'il ne pas accecpte qu'une seul lecture dans une meme connection! donc soit je vais definir une nouvelle connexion pour ma deuxieme requete soit j'utilise le dataset comme tu m'as propose! J'aimerai bien que tu me donne un exemple comme ca je pourrai voir mieux! Merci
Messages postés
20
Date d'inscription
dimanche 6 avril 2008
Statut
Membre
Dernière intervention
14 juin 2008

    Cbon vraiment c'est bête, je savais pas quand peut utiliser deux connexion differente et sans gereration d'erreur! j'ai garder mon DataReader puisuque je sais pas comment utiliser la DataSet...Merci!! et  si c'est possible un petit exemple pour la dataSet avec un select...@+