我使用 JET OLEDB 连接在 C# 中有以下更新查询,连接到 ms 访问 DB 文件。查询无法更改字段,它运行正确,但仅更改了 0 行。
我认为问题在于如何处理参数并与数据库进行比较,但不知道如何修复它。
“用户”列设置为文本。我有一个插入语句,它以与参数相同的方式完美设置。
com.CommandText = "UPDATE [ExamMaster] SET [User] = (DLookup('LName', 'Users', 'ID' = '@correctUser') WHERE [User] = '@user'";
com.Parameters.AddWithValue("@correctUser", correctUser);
com.Parameters.AddWithValue("@user", userName);
如果我不使用 where 子句的参数,而只是将其插入到命令字符串中,如下所示:
WHERE [User] = '"+userName+"'";</code>
它会更新数据库就好了。我在这里想念什么?更新:带或带单引号没有区别,重新排列参数的顺序也不起作用。