[probléme] La connexion n'est pas fermée

Signaler
Messages postés
14
Date d'inscription
mercredi 31 juillet 2013
Statut
Membre
Dernière intervention
3 octobre 2013
-
Messages postés
14
Date d'inscription
mercredi 31 juillet 2013
Statut
Membre
Dernière intervention
3 octobre 2013
-
Bonjour,

j 'ai besoin de votre aide j'arrive pas à corriger cet erreur (La connexion n'est pas fermée. L'état actuel de la connexion est ouvert.) pouvez vous m'aider??
  public void add()
        {
            DialogResult dr = MessageBox.Show("étes vous sur de vouloir ajouter cette ligne?", "confirmation", MessageBoxButtons.YesNo);
            switch (dr)
            {
                case DialogResult.Yes:
                    alter_table();
                    foreach(string key in columns){
                        foreach (string name in columnsNames) {
                              //   if (key != name)
                                 {MessageBox.Show(name + "!=" + key);
                                     conn.commandString = "ALTER TABLE Table1 ADD "+ key +" Varchar(100)";
                                     conn.load_informations_forUpdating_Ordelete();
                                     Close();
                                 }
                                 }
                                }
                break;
            }        

 public void alter_table()
        {
           
            string conStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/Users/yasmineben/Documents/Visual Studio 2010/Projects/ONCFApplication/ONCFApplication/bin/BD-ONCF_QCM.accdb";
            OleDbConnection con = new OleDbConnection(conStr);
           
                con.Open();
               OleDbCommand cmd = new OleDbCommand("select * from Table1", con);
                OleDbDataReader reader = cmd.ExecuteReader(CommandBehavior.SchemaOnly);
              
                    DataTable table = reader.GetSchemaTable();
                    DataColumn nameCol = table.Columns["ColumnName"];
                    foreach (DataRow row in table.Rows)
                    {
                        columnsNames.Add((string)row[nameCol]);
                    }

                
                con.Close();
            
             }
        }

3 réponses

Messages postés
14760
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 janvier 2021
151
Bonjour,

Sur quelle ligne l'erreur ?
Messages postés
14
Date d'inscription
mercredi 31 juillet 2013
Statut
Membre
Dernière intervention
3 octobre 2013

Bonjour;
dans la ligne de
 condatabase.Open();




 public void load_informations_forUpdating_Ordelete()
        {
          
            condatabase.Open();
             cmd = new OleDbCommand(commandString, condatabase);
             try
             {
                 reader = cmd.ExecuteReader();
             }
             catch (Exception e)
             {
                 MessageBox.Show("message d'erreur"+e.Message);
             }
            
        }
Messages postés
14760
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 janvier 2021
151
Bonsoir,

Avant de faire le Open, tu pexu vérifier l'état de la connexion avec :
http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbconnection.state%28v=vs.80%29.aspx
Messages postés
14
Date d'inscription
mercredi 31 juillet 2013
Statut
Membre
Dernière intervention
3 octobre 2013

Merci beaucoup je vais le tester