使用Access按更新按钮C#更新特定列

本文关键字:更新 按钮 Access 使用 | 更新日期: 2023-09-27 18:26:44

我制作了文本框,填充后将更新相关的数据库列。我希望用户通过在文本框中插入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();
    }

使用Access按更新按钮C#更新特定列

您传递命令参数的方式不正确。你应该做这样的

   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();
   }