Каким-то образом MySQL внезапно не может выполнить запросы после того, как это выполнено - PullRequest
0 голосов
/ 31 октября 2011
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 Ответ

1 голос
/ 31 октября 2011

Я подозреваю, что это происходит, потому что вы закрываете соединение, а затем снова открываете его. Вы не должны открывать закрытое соединение ... на самом деле я удивлен, что оно не выдает InvalidOperationException. И в любом случае, если ваш метод получает открытое соединение в качестве параметра, он не должен закрывать его. Код, открывающий соединение, отвечает за его закрытие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...