Des requtes dans une seule Class avec une seul connection

Résolu
jojotn Messages postés 20 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 14 juin 2008 - 13 mai 2008 à 01:29
jojotn Messages postés 20 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 14 juin 2008 - 13 mai 2008 à 13:44
    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

danious Messages postés 27 Date d'inscription jeudi 8 juillet 2004 Statut Membre Dernière intervention 5 novembre 2008
13 mai 2008 à 09:33
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).
3
jojotn Messages postés 20 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 14 juin 2008
13 mai 2008 à 11:33
    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
0
jojotn Messages postés 20 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 14 juin 2008
13 mai 2008 à 13:44
    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...@+
0
Rejoignez-nous