c# - 插入 Ms Access 数据库时出错(未指定错误\r\n 对象无效或不再设置)

标签 c# winforms visual-studio ms-access-2007 desktop-application

我想在每次单击按钮时插入大约 2000 条记录。 它工作正常,直到记录 511,并抛出此异常: 未指定错误\r\n 对象无效或不再设置

我已经用不同的记录或不同的顺序调试了几次,并且总是在第 511 条记录上出现相同的错误。 发生了什么事?

代码: (在插入另一条记录之前,我读取了最后一条记录的 ID)

string CmdText = "SELECT TOP 1 Id FROM MyTable ORDER BY Id DESC";
OleDbCommand com = new OleDbCommand(CmdText,tran.Connection,tran);
com.CommandType = CommandType.Text;
OleDbDataReader reader = com.ExecuteReader(); //exception started here

最佳答案

这听起来像是 Jet 引擎 无法正常工作或已损坏。

使用 Microsoft ODBC Driver for Access 或 Microsoft OLE DB Provider for Jet 打开和关闭连接或记录集时,可能会报告以下错误:

Object invalid or no longer set.

要解决此问题,请安装最新的 Microsoft Jet 4.0 service pack 6。更多信息 FIX: "Object invalid or no longer set" Error with Microsoft Jet

关于c# - 插入 Ms Access 数据库时出错(未指定错误\r\n 对象无效或不再设置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15804995/

相关文章:

c# - 如何以最快的方式处理 400K 数据的 foreach/group by?

winforms - winform中用户控件的事件处理

c# - 在从右到左的文本框中写入阿拉伯数字

visual-studio - 有没有办法在Visual Studio中显示当前的TFS工作区?

c++ - 哪些编译器选项用于在 Visual Studio 中编译 C++ STL 类/函数?

javascript - 将文件名与 XMLHttpRequest 关联

c# - 有没有办法让 NHibernate 将字符串键视为不区分大小写?

c# - 从 C# 中的字符串调用表单

c# - 监控线程创建

c# - 无法在 C# 项目中重新加载 C++ dll