当我试图在MDB上执行ExecuteNonQuery时,被try catch包围着,ExecuteNonQuery总是抛出异常,但是数据确实被更改了。 我收到的异常是
“已获得指向对象的空指针以及命令执行的结果。 退出代码:S_OK。\ r \ n \ r \ nCOM错误代码:E_FAIL。”。
我尝试使用OleDbAdapter进行相同的操作,并且可以正常工作。
[HttpPut]
public IActionResult Test(string id = "", string omschr_1 = "")
{
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\Folder\\DB.mdb");
try
{
conn.Open();
string sUpdate = "UPDATE Kassa SET omschr_1 = '" + omschr_1 + "' WHERE Iden = '" + id + "'";
OleDbCommand cmdUpdate = new OleDbCommand(sUpdate, conn);
cmdUpdate.ExecuteNonQuery();
cmdUpdate.Dispose();
conn.Close();
conn.Dispose();
}
catch (Exception e)
{
return BadRequest();
}
finally
{
conn.Close();
conn.Dispose();
}
return Ok();
}