2015-12-15 91 views
0

我已经创建了文本框,当填充时将更新相关数据库列。 我希望用户通过在文本框中插入ID号来从表中选择ID号,然后通过在文本框中键入文本框然后按更新按钮来将用户名从例如James更改为Alex。但是,我得到“错误语法附近更新语句”错误。通过按下更新按钮C#来更新特定列Access

这里是我的代码:

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

x.x我有多傻......我得到“不正确的syntaxnear更新查询”@cFrozenDeath –

回答

0

你传递命令的参数不correct.You应该做这样的事情

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

非常感谢很多人的帮助! @amuz –