3

我想每次单击按钮时插入大约2000条记录。 它正常工作,直到记录511,并抛出此异常:用不同的记录或不同的顺序 未知错误\ r \ n对象无效或不再设置插入女士访问数据库时出错(未指定错误 r n对象无效或不再设置)

我已经调试了几次,总是得到相同的第511条记录错误。 发生了什么?

CODE: (我读的最后一条记录的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 
+0

你是否正在使用相同的记录进行调试? – Shaharyar 2013-04-04 07:28:23

+0

不...有不同的记录。 – ricojohari 2013-04-04 07:30:08

+0

我认为表的外键是一个整数。 Microsoft Jet将其转换为十进制,并且这会导致query.add中的错误表的结构 – KF2 2013-04-04 07:32:17

回答

1

我已经找到了家伙。 我每次要插入新记录时都必须关闭OleDBDataReader。

现在它工作正常。谢谢。

1

听起来莫名其妙的喷气发动机 不能正常工作或已损坏。

当打开和关闭连接或使用Access或在Microsoft OLE DB提供程序为Jet Microsoft ODBC驱动程序的记录,以下错误可能会报告:

Object invalid or no longer set. 

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

+0

对于.NET Framework 3.5是否有效? – ricojohari 2013-04-04 07:50:26

+0

我没有尝试过,但它可能会有所帮助,错误可能表示有些事情在Jet引擎中是不正确的。 – KF2 2013-04-04 07:53:51

0

解决此问题的最佳方法是删除其中插入/更新时出现错误的表。然后重新创建表格,但请确保先备份表格数据。