使用名称两列更新access数据库中的数据
本文关键字:access 更新 数据库 数据 两列 | 更新日期: 2023-09-27 18:19:06
在access数据库中使用name两列更新数据
因为一列有相同的数据因为SerialNumber和Start可以是Repeat
也就是让update in all row有相同的数据
我使用这个代码,但是我有语法错误
private void button3_Click(object sender, EventArgs e)
{
try
{
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
string query = "update Timer set Stop='" + label1.Text + "'where (SerialNumber,Start)='" + comboBox1.Text + "','" + textBox1.Text + "' ";
command.CommandText = query;
command.ExecuteNonQuery();
MessageBox.Show("Data saved");
connection.Close();
send_data f2 = new send_data(comboBox1.Text,label2.Text);
f2.ShowDialog();
}
catch (Exception ex)
{
MessageBox.Show("ERORR" + ex);
}
}
WHERE子句的正确语法是
WHERE fieldname operator value AND/OR fieldname operator value ....
所以更新记录的正确方法是
string query = @"update Timer set Stop=? where SerialNumber = ? AND Start = ?";
command.CommandText = query;
command.Parameters.AddWithValue("@p1", label1.Text);
command.Parameters.AddWithValue("@p2", comboBox1.Text );
command.Parameters.AddWithValue("@p3", textBox1.Text);
command.ExecuteNonQuery();
请注意,在WHERE关键字之前需要一个空格,并且我已经将代码更改为使用更安全的参数化方法而不是字符串连接