MySQL .Net连接器连接已打开但已关闭

时间:2016-03-03 11:46:07

标签: c# mysql .net

我对最新的MySQL .Net连接器有一个非常奇怪的问题。

以下代码:

MySqlCommand cmd = new MySqlCommand("UPDATE tst SET col1 = 'Test' WHERE id = 5", conn);

if (conn.State != ConnectionState.Open)
{
    conn.Open();
}

Console.WriteLine(conn.State.ToString());
try
{
    cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
    Console.WriteLine(conn.State.ToString());
}

如果我运行我的程序,我将得到以下输出/错误:

Open
The connection must be valid and open
Open

这怎么可能。你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

MySqldocumentation的官方DevArt上,所有MySqlCommand都是使用开放式连接初始化的。我建议先打开连接,然后再初始化MySqlCommand

if (!conn.State.Equals(ConnectionState.Open))
    conn.Open();

Console.WriteLine(conn.State.ToString());

MySqlCommand cmd = new MySqlCommand("UPDATE tst SET col1 = 'Test' WHERE id = 5", conn);

try
{
    cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
    Console.WriteLine(conn.State.ToString());
}