C# 在sql server的1列中使用2个参数更新多行
我在更新记录时遇到问题。我想用两个参数单击一个按钮更新1列中的2条记录。代码如下:C# 在sql server的1列中使用2个参数更新多行,c#,sql-server,C#,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
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);
}
如何克服这个问题?谢谢。将SQL语句更改为:
UPDATE Barang SET Pakai=@Pakai WHERE Nama_Barang in('Mie Rebus','Telor'))
您的WHERE子句正在查找Nama_Barang='Mie Rebus'和Nama_Barang='Telor'所在的行。
关键是和这里。您没有任何行,其中Nama_Barang既是“Mie Rebus”又是“Telor”。您正在查找Nama_Barang是“Mie Rebus”或“Telor”的行,因此where子句应该是
Nama_Barang='Mie Rebus'或Nama_Barang='Telor'
您可以通过将where子句中的AND更改为or运算符来完成此操作
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);
}
然而,如果您要为许多值执行此操作,那么最好使用它
其中Nama_Barang在('name1'、'name2'、…、'name99'中)
你有什么问题?