我已经制作了文本框,填写后会更新相关的数据库列。 我希望用户通过在文本框中插入ID号来从表中选择ID号,然后通过在文本框中键入然后按更新按钮将用户名从例如James更改为Alex。但是我得到“更新语句附近的语法不正确”错误。
这是我的代码:
protected void unUpdate_Click(object sender, EventArgs e)
{
using (var myConnection = GetConnection())
{
myConnection.Open();
using (var cmd = new OleDbCommand("Update staff set username ? where id = ?", myConnection))
{
cmd.Parameters.AddWithValue("username", txt_name.Text);
cmd.Parameters.AddWithValue("id", txt_id.Text);
cmd.ExecuteNonQuery();
} myConnection.Close();
}
答案 0 :(得分:0)
传递命令参数的方式不正确。你应该做这样的事情
using (var cmd = new OleDbCommand("Update staff set username = @username where id = @userid", myConnection))
{
cmd.Parameters.AddWithValue("@username", txt_name.Text);
cmd.Parameters.AddWithValue("@userid", txt_id.Text);
cmd.ExecuteNonQuery();
}