C# --> MySql : There is already an open DataReader associated with this Connection
Bonjour amis developezistes,
je développe une appli C# chargée de se connecter à une base MySql sur un serveur distant.
Je rencontre le message d'erreur suivant lorsque j'essaie d'insérer des données dans les tables de la base :
Citation:
MySql.Data.MySqlClient.MySqlException: There is already an open DataReader associated with this Connection which must be
closed first.
à MySql.Data.MySqlClient.MySqlCommand.CheckState()
à MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
à MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
à ExportHeurèsToMySql.ConnexionVersMySql.ordreSql(String ordSql) dans C:\~chemin très long~\ConnexionVersMySql.cs:ligne 83
Voici le code coupable :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public void ordreSql(string ordSql)
{
MySqlDataAdapter MyAdapter = new MySqlDataAdapter();
MyAdapter.SelectCommand = new MySqlCommand(ordSql, this.connection);
try
{
MyAdapter.SelectCommand.ExecuteNonQuery();
}
catch (Exception e)
{
Console.WriteLine("Erreur sur l'ordre SQL suivant : " + ordSql);
Console.WriteLine(e.ToString());
}
} |
Toutefois ce code a fonctionné parfaitement pour créer les tables dans la base.
J'admets avoir copié-collé-modifié ce code sans vraiment comprendre le principe derrière :?
J'ai essayé quelques bidouilles comme "MyAdapter.Dispose()" etc mais sans résultat.
Vos suggestions sont les bienvenues !