更新 2:我解决了这个问题,请参阅我的答案。
我正在使用 OleDb 从 C# 调用 Microsoft Access 数据库中的查询,但我的更新查询无法正常工作。
不会引发错误,但更新不会持久保存在数据库中。
任何人都可以对此有所了解吗?
数据库中的SQL查询:
UPDATE tableName SET tableName.LastPolledDtg = LastPolledDtg
WHERE tableName.key = ID;
C#:
OleDbCommand command = new OleDbCommand();
SetCommandType(command, CommandType.StoredProcedure, "NameOfQueryInAccessDatabase");
AddParamToSQLCmd(command, "@ID", OleDbType.Integer, 4, ParameterDirection.Input, id);
AddParamToSQLCmd(command, "@LastPolledDtg", OleDbType.Date, 4, ParameterDirection.Input, DateTime.Now);
using (OleDbConnection connection = new OleDbConnection("connectionString"))
{
command.Connection = connection;
connection.Open();
result = command.ExecuteNonQuery();
}
连接字符串:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Documents and Settings\\Administrator\\Desktop\\dev\\src\\Website\\App_Data\\tracking.mdb"
更新1:
我试图通过创建一个包含单个表和单个查询的新数据库来缩小可能性,并确保在运行 C# 更新表时关闭访问。
更新仍未执行。我怀疑这是语法问题(也可能是权限问题?),但是如果没有任何错误消息,很难调试!