Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过按具有访问权限的更新按钮C#更新特定列_C#_Ms Access_C# 4.0 - Fatal编程技术网

通过按具有访问权限的更新按钮C#更新特定列

通过按具有访问权限的更新按钮C#更新特定列,c#,ms-access,c#-4.0,C#,Ms Access,C# 4.0,我制作了文本框,填充后将更新相关数据库列。 我希望用户通过在文本框中插入id号从表中选择id号,然后通过在文本框中键入并按下更新按钮将用户名从例如James更改为Alex。然而,我得到“更新语句附近的语法不正确”错误 这是我的密码: protected void unUpdate_Click(object sender, EventArgs e) { using (var myConnection = GetConnection()) { myConnection

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

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

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

所以你的问题是什么?我真傻。。。。。。我得到了“不正确的syntaxnear更新查询”@cfrozendath