使用 Access 2010 和 c# Windows 应用程序的 UPDATE 语句中的语法错误

本文关键字:UPDATE 语句 语法 错误 应用程序 2010 Access Windows 使用 | 更新日期: 2023-09-27 18:33:55

>我正在使用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");

在运行时出现的错误是

"更新语句中的语法错误">

所以你能告诉我错误在哪里吗?

使用 Access 2010 和 c# Windows 应用程序的 UPDATE 语句中的语法错误

PASSWORD 是 Access JET/SQL 中的保留关键字。
您需要用方括号封装它

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,因为它是保留的,而是[Password]

PASSWORD

Access 上的保留关键字

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

com.CommandText = "UPDATE Admin SET UserName = @UN, [Password] = @Pass, ValidID = @VID WHERE ID = @ID";

作为一般建议,不要对数据库中的标识符和对象名称使用保留关键字。