2017-10-12 181 views
0

我正在使用Visual Studio 2013和SQL Server 2012.我想将我的数据保存在数据库中,但它给出:未处理的异常发生在system.data.dll中发生类型'system.invalidoperationexception'的未处理异常c#

An unhandled exception of type 'System.InvalidOperationException' occurred in System.Data.dll

我的代码:

private void button1_Click(object sender, EventArgs e) 
    { 
     string connString = ConfigurationManager.ConnectionStrings["dbx"].ConnectionString; 
     using (SqlConnection conn = new SqlConnection(connString)) 
     { 
      using (SqlCommand cmd = new SqlCommand("ups_StudentInsertDetails")) 
      { 
       cmd.Parameters.AddWithValue("Name", textBox1.Text); 
       cmd.Parameters.AddWithValue("Email", textBox2.Text); 
       //then open connection 
       conn.Open(); 
       //Execute Reader(select ststement) 
       //Execute Scalar(select ststement) 
       //Executenonquery (Insert , update or delete) 
       cmd.ExecuteNonQuery(); 
       MessageBox.Show("Data saved successfully!"); 

      } 
     } 

    } 
} 

错误: error

+0

请按查看详情,并告诉我 – 2017-10-12 05:18:31

回答

2

打开的SqlConnection这样,并将其与关联SqlCommand的。 请参阅下面的代码更改,在评论中突出显示。

Private void button1_Click(object sender, EventArgs e) 
{ 
    string connString = ConfigurationManager.ConnectionStrings["dbx"].ConnectionString; 
    using (SqlConnection conn = new SqlConnection(connString)) 
    { 
    conn.open(); //Open Connection 
     using (SqlCommand cmd = new SqlCommand("ups_StudentInsertDetails",conn)) //Pass connection to thesqlcommand 
     { 
      cmd.Parameters.AddWithValue("Name", textBox1.Text); 
      cmd.Parameters.AddWithValue("Email", textBox2.Text); 
      cmd.ExecuteNonQuery(); 
      MessageBox.Show("Data saved successfully!"); 
     } 
    } 

} 

}

1

SqlCommand不包含SqlConnection您正在打开。首先。您可以使代码更易于使用执行前下降二,在打开的命令连接:

private void button1_Click(object sender, EventArgs e) 
{ 
    string connString = ConfigurationManager.ConnectionStrings["dbx"].ConnectionString; 
    using (SqlConnection conn = new SqlConnection(connString)) 
    { 
     SqlCommand cmd = new SqlCommand("ups_StudentInsertDetails", conn); 
     cmd.Parameters.AddWithValue("Name", textBox1.Text); 
     cmd.Parameters.AddWithValue("Email", textBox2.Text); 

     //then open connection 
     cmd.Connection.Open(); 

     cmd.ExecuteNonQuery(); 
     MessageBox.Show("Data saved successfully!"); 
    } 
} 

More info on the MSDN website with example at the bottom

相关问题