我对最新的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
这怎么可能。你有什么想法吗?
答案 0 :(得分:0)
在MySql
和documentation的官方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());
}