不知何故,MySQL在运行后突然无法执行查询

时间:2011-10-30 22:57:03

标签: c# mysql database image dataset

public void saveImage(byte[] image, int patient_id, MySqlConnection con)
    {
        string sql = "select * from patient where id ="+patient_id;
        DataSet ds = new DataSet("patient");
        MySqlDataAdapter dAdapter = new MySqlDataAdapter(sql, con);
        MySqlCommandBuilder builder = new MySqlCommandBuilder(dAdapter);
        dAdapter.Fill(ds, "patient2");
        try
        {
            ds.Tables["patient2"].Rows[0]["picture"] = image;
            dAdapter.Update(ds, "patient2");

            // ds.Tables["patient2"].Rows[0].AcceptChanges();


            con.Close();
            con.Open();
        }
        catch (Exception exs)
        {
            Console.WriteLine(exs.Message);
        }

    }

我怎么能修复这个错误......执行此操作后,以下任何一个查询都不会起作用......发生了什么?我已经尝试过以任何方式评论“con.close”和“con.open”,......

1 个答案:

答案 0 :(得分:1)

我怀疑发生这种情况是因为你关闭连接,然后重新打开它。你不应该重新打开一个封闭的连接......实际上我很惊讶它没有抛出一个InvalidOperationException。无论如何,如果您的方法接收一个打开的连接作为参数,它不应该关闭它。打开连接的代码负责关闭它。