InvalidOperationException未处理

Joe*_*ell 0 .net c# mysql sql ado.net

编译程序时没有收到任何错误,但是当我单击保存按钮时,我收到'InvalidOperationException未处理'.cmd.ExecuteNonQuery(); 然后突出显示,我花了一段时间在这上面,没有运气.希望你能帮忙.

private void save_Click(object sender, EventArgs e)
{
    MySqlConnection con = new MySqlConnection("host=" ";user="";password=""; database="" ;");
    con.Open();

    MySqlCommand cmd = new MySqlCommand("INSERT INTO Staff (username, password, FirstName, SecondName, Phone, Email, Role, Phone 2, Fax)" + "values" + "("+username+","+password+","+Fname+","+Lname+","+Phone+","+email+","+role+","+Phone2+","+Fax+")");
    cmd.BeginExecuteNonQuery();
    cmd.ExecuteNonQuery();

    con.Close();            

    MessageBox.Show("Data Inserted");
    con.Close();          
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*rth 7

在执行之前为您的命令分配连接:

cmd.Connection = con;
Run Code Online (Sandbox Code Playgroud)

并删除呼叫BeginExecuteNonQuery.它启动异步执行,然后直接启动同步执行.您的代码的结构方式,您希望使用同步方式.