按访问

时间:2015-12-15 01:42:35

标签: c# ms-access c#-4.0

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

1 个答案:

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