MDB ExecuteNonQuery引发异常,但数据已更改

时间:2019-05-22 12:12:16

标签: c# api ms-access self-hosting

当我试图在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();
     }

0 个答案:

没有答案
相关问题