3

每次单击按钮时,我想插入大约 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
4

3 回答 3

1

听起来 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. 有关其他信息修复:“对象无效或不再设置”Microsoft Jet 错误

于 2013-04-04T07:42:16.297 回答
1

我已经想通了,伙计们。每次我想插入新记录时,我都必须关闭 OleDBDataReader。

现在它工作正常。谢谢。

于 2013-04-04T07:56:59.203 回答
0

解决此问题的最佳方法是删除在插入/更新时出现错误的表。然后重新建表,但一定要先备份表数据。

于 2015-03-29T15:46:03.703 回答