2013-01-11 62 views
2

我在更新記錄時遇到問題。我想用兩個參數在一個按鈕點擊1列中更新2條記錄。這是代碼:在sql server的1列中更新帶有2個參數的多行

private void Button_Click(object sender, EventArgs e) 
    { 
     int use = Convert.ToInt32(textBox1.Text); 

     perintahsql = new SqlCeCommand("UPDATE Barang SET Pakai = @Pakai WHERE Nama_Barang = 'Mie Rebus' AND Nama_Barang = 'Telor'", koneksi); 
     perintahsql.Parameters.Clear(); 
     perintahsql.Parameters.AddWithValue("@Pakai", use); 
    } 

如何克服這個問題?謝謝。

+0

什麼是你的問題? – Jodrell

回答

2

改變你的SQL語句:

UPDATE Barang SET Pakai = @Pakai WHERE Nama_Barang in ('Mie Rebus', 'Telor') 
1

你的WHERE子句尋找行,其中Nama_Barang = 'Mie Rebus' AND Nama_Barang = 'Telor'

的關鍵是在這裏。您沒有任何行,其中Nama_Barang爲'Mie Rebus'和'Telor'。你要找的行,其中Nama_Barang要麼是「三重滷麪」 「Telor」,所以你的WHERE子句應Nama_Barang = 'Mie Rebus' OR Nama_Barang = 'Telor'

0

您可以通過改變與一個或運營商在WHERE子句中做到這一點。

private void Button_Click(object sender, EventArgs e) 
{ 
    int use = Convert.ToInt32(textBox1.Text); 

    perintahsql = new SqlCeCommand("UPDATE Barang SET Pakai = @Pakai WHERE Nama_Barang = 'Mie Rebus' OR Nama_Barang = 'Telor'", koneksi); 
    perintahsql.Parameters.Clear(); 
    perintahsql.Parameters.AddWithValue("@Pakai", use); 
} 

但是,如果你打算做這許多值,那麼它可能是最好使用

WHERE Nama_Barang IN( '名稱1', '名2',...,」 name99')