J'essaie d'écrire des données de MySQL avec C# dans un fichier .txt mais j'obtiens l'erreur "Tentative de lecture non valide alors que le lecteur est fermé.".
Le code est ici :
StreamWriter sr_Produto = new StreamWriter(@"C:\Enzo\PAP\PAP\Ficheiros\produto.txt", true); bdcon.Open(); MySqlCommand cmd = new MySqlCommand("SELECT nome from produtos",bdcon); MySqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { sr_Produto.Write(dr["nome"].ToString()); } bdcon.Close(); bdcon.Open(); StreamWriter sr_Quantidade = new StreamWriter(@"C:\Enzo\PAP\PAP\Ficheiros\quantidade.txt", true); MySqlCommand cmd1 = new MySqlCommand("SELECT quantidade from produtos_pedidos",bdcon); MySqlDataReader dr1 = cmd1.ExecuteReader(); if (dr.Read()) { sr_Produto.Write(dr["quantidade"].ToString()); } bdcon.Close(); bdcon.Open(); StreamWriter sr_Subtotal = new StreamWriter(@"C:\Enzo\PAP\PAP\Ficheiros\subtotal.txt", true); MySqlCommand cmd2 = new MySqlCommand("SELECT subtotal from produtos_pedidos", bdcon); MySqlDataReader dr2 = cmd2.ExecuteReader(); if (dr.Read()) { sr_Produto.Write(dr["subtotal"].ToString()); } bdcon.Close(); bdcon.Open(); StreamWriter sr_Valor = new StreamWriter(@"C:\Enzo\PAP\PAP\Ficheiros\valor.txt", true); MySqlCommand cmd3 = new MySqlCommand("SELECT valor from produtos"); MySqlDataReader dr3 = cmd3.ExecuteReader(); if (dr.Read()) { sr_Produto.Write(dr["valor"].ToString()); } bdcon.Close();
Je serais heureux si quelqu'un pouvait m'aider.
Si vous regardez le code, vous créez
MySqlDataReader dr
并加载它,然后关闭它并创建并加载MySqlDataReader dr1
。然后,您尝试读取已关闭的dr
. Il semble également que vous essayiez d’écrire sur le mauvais StreamWriter.