首页  >  问答  >  正文

“阅读器关闭时尝试阅读无效。”

我正在尝试将来自 mysql uinlg c# 的数据写入 .txt 文件,但出现错误“阅读器关闭时尝试读取无效。”。

代码在这里:

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();

如果有人能帮助我,我会很高兴。

P粉884667022P粉884667022183 天前286

全部回复(1)我来回复

  • P粉121081658

    P粉1210816582024-04-01 09:00:25

    如果您查看代码,您正在创建 MySqlDataReader dr 并加载它,然后关闭它并创建并加载 MySqlDataReader dr1。然后,您尝试读取已关闭的 dr 。看起来您也可能试图写入错误的 StreamWriter。

    回复
    0
  • 取消回复