2015-08-21 92 views
-3

更新根本不起作用,行保持不變。我得到沒有錯誤。有誰知道爲什麼它不起作用? 我想首先知道問題的原因,但如果您有任何想法,關於如何改進我的代碼的建議,我們會受到歡迎。sql簡單的更新語句不起作用

private void button2_Click(object sender, EventArgs e) 
    { 
     using (SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=E:\C#\InsertDeleteUpdate-Login\InsertDeleteUpdate-Login\Database1.mdf;Integrated Security=True")) 
     using (SqlCommand cmd = new SqlCommand("UPDATE info SET [email protected] WHERE [email protected] AND [email protected]",conn)) 
     { 
      conn.Open(); 
      cmd.Parameters.AddWithValue("@Password", textBox4.Text); 
      cmd.Parameters.AddWithValue("@Id", textBox3.Text); 
      cmd.Parameters.AddWithValue("@Password1", textBox2.Text); 
     } 
    } 
+5

你需要執行查詢 – user1666620

+3

使用:'cmd.ExecuteNonQuery()' – Stefan

+0

你缺少'cmd.ExecuteNonQuery()' – TFrost

回答

3

你需要執行查詢

cmd.Parameters.AddWithValue("@Password", textBox4.Text); 
cmd.Parameters.AddWithValue("@Id", textBox3.Text); 
cmd.Parameters.AddWithValue("@Password1", textBox2.Text); 

cmd.ExecuteNonQuery(); // this is what was missing 
+0

thx很多,你知道,在這個應用程序中,我有另一個查詢,我選擇了一些東西,該聲明沒有執行任何查詢,這就是爲什麼我相信它在這裏也不需要。 –

+0

當UPDATE和DELETE需要顯式執行語句時,Select被隱式執行。 –

3

你是不是在執行查詢。您需要使用:

cmd.ExcecuteNonQuery(); 

添加參數後。

2
private void button2_Click(object sender, EventArgs e) 
{ 
    using (SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=E:\C#\InsertDeleteUpdate-Login\InsertDeleteUpdate-Login\Database1.mdf;Integrated Security=True")) 
    using (SqlCommand cmd = new SqlCommand("UPDATE info SET [email protected] WHERE [email protected] AND [email protected]",conn)) 
    { 
     conn.Open(); 
     cmd.Parameters.AddWithValue("@Password", textBox4.Text); 
     cmd.Parameters.AddWithValue("@Id", textBox3.Text); 
     cmd.Parameters.AddWithValue("@Password1", textBox2.Text); 
     cmd.ExecuteNonQuery(); 

    } 
} 
+0

你不需要'conn.close()'部分。 '使用'語句處理。 –