使用access 2010和c#windows应用程序更新语句时出现语法错误

使用access 2010和c#windows应用程序更新语句时出现语法错误,c#,C#,我正在使用MS access 2010,尝试使用C#windows应用程序连接它,并使用此代码更新数据 com.CommandText = "UPDATE Admin SET UserName = @UN, Password = @Pass, ValidID = @VID WHERE ID = @ID"; com.Parameters.AddWithValue("@UN", TBUserName.Text); com.Parameters.AddWithValue("@Pass", TBPass

我正在使用MS access 2010,尝试使用C#windows应用程序连接它,并使用此代码更新数据

com.CommandText = "UPDATE Admin SET UserName = @UN, Password = @Pass, ValidID = @VID WHERE ID = @ID";
com.Parameters.AddWithValue("@UN", TBUserName.Text);
com.Parameters.AddWithValue("@Pass", TBPassword.Text);
com.Parameters.AddWithValue("@VID", CBvalidation.SelectedValue);
com.Parameters.AddWithValue("@ID", CBEmpName.SelectedValue);

ds.Tables.Add("Admin");
da.Fill(ds, "Admin");
在运行时,出现的错误是

“UPDATE语句中的语法错误”

那么,您能告诉我错误在哪里吗?

密码是Access JET/SQL中的密码。
您需要用方括号将其封装起来

com.CommandText = "UPDATE Admin SET UserName = @UN, " + 
                  "[Password] = @Pass, ValidID = @VID WHERE ID = @ID";
如果可能,我建议您更改此字段的名称。

以后每次查询此表时,您都会遇到此问题。

密码
是访问时的密码

将其与方括号一起使用,如
[PASSWORD]

com.CommandText = "UPDATE Admin SET UserName = @UN, [Password] = @Pass, ValidID = @VID WHERE ID = @ID";
作为一般建议,不要在数据库中为标识符和对象名使用保留关键字。

试试这个

 com.CommandText = 
  "UPDATE Admin SET UserName = @UN, [Password] = @Pass, ValidID = @VID WHERE ID = @ID";
您不能使用
密码
,因为它是保留的,而使用
[Password]