Ich versuche, Daten aus MySQL uinlg c# in eine TXT-Datei zu schreiben, erhalte jedoch die Fehlermeldung „Ungültiger Leseversuch, während der Reader geschlossen ist.“
Der Code ist hier:
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();
Ich würde mich freuen, wenn mir jemand helfen könnte.
如果您查看代码,您正在创建
MySqlDataReader dr
并加载它,然后关闭它并创建并加载MySqlDataReader dr1
。然后,您尝试读取已关闭的dr
。看起来您也可能试图写入错误的 StreamWriter。