2013-01-11 28 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')