Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 未处理InvalidOperationException_C#_.net_Mysql_Sql_Ado.net - Fatal编程技术网

C# 未处理InvalidOperationException

C# 未处理InvalidOperationException,c#,.net,mysql,sql,ado.net,C#,.net,Mysql,Sql,Ado.net,我编译程序时没有收到错误,但是只要单击“保存”按钮 我收到“InvalidOperationException未处理”。cmd.ExecuteNonQuery();然后突出显示,我花了一段时间在这上面,没有运气。希望你能帮忙 private void save_Click(object sender, EventArgs e) { MySqlConnection con = new MySqlConnection("host=" ";user="";password=""; databa

我编译程序时没有收到错误,但是只要单击“保存”按钮 我收到“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();          
}

在执行命令之前,将连接分配给命令:

cmd.Connection = con;

并删除对
BeginExecutenQuery
的调用。它启动异步执行,然后直接启动同步执行。按照代码的结构方式,您希望使用同步方式。

通过定义命令的连接

cmd.Connection = con;
此外,您的查询似乎不正确

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+"')");

您需要做的另一件事是重命名列名“Phone 2”,不要在列名中使用空格。

您的
MySqlCommand
对象如何知道
MySqlConnection
;)?在查询中使用参数,可以避免sql注入。除了System.Windows.Forms.TextBox之外,所有操作都正常,每个条目前都有文本!!但它插入了太多的感谢。所有的工作…除了System.Windows.Forms.TextBox,每个条目前的文本!!乔·贝尔:如果查询中使用的变量是文本框,请将查询改为使用
.Text
,例如
用户名.Text