VB6-对象已打开

VB6-对象已打开,vb6,recordset,Vb6,Recordset,我有一个记录集,它运行一个查询: rs.Open "SELECT * FROM Update",objConnection.ActiveCon Do While Not rs.EOF 'More logic here. loop rs.close 今天的查询结果比正常的要大得多,即150万行(而不是正常的100000行)。当记录集试图打开时,即“对象已打开”,我收到一个错误。这是什么意思?我对它进行了研究,我能找到的唯一解释是记录集太大,在较低的抽象级别上存在错误(因为结果太多)。这是正确

我有一个记录集,它运行一个查询:

rs.Open "SELECT * FROM Update",objConnection.ActiveCon
Do While Not rs.EOF
  'More logic here.
loop
rs.close
今天的查询结果比正常的要大得多,即150万行(而不是正常的100000行)。当记录集试图打开时,即“对象已打开”,我收到一个错误。这是什么意思?我对它进行了研究,我能找到的唯一解释是记录集太大,在较低的抽象级别上存在错误(因为结果太多)。这是正确的吗

更新2012年6月3日15:31 首先,我在这里发现了一个类似的问题:。回答者引用了以下内容:

我自己从未经历过这种情况,但我推测,当并行运行多个数据流时,通常会发生这种情况,这些数据流在同一个表上进行查找。在重新同步行时会发生错误,但至少有一行已成功重新同步。该错误指的是它试图打开的存储对象已经打开(因为很可能两个查找共享同一缓冲区)。”

他所说的“并行运行多个在同一个表上具有查找功能的数据流”是什么意思?他指的是更新同一个表的两个不同进程吗


其次,我想知道Windows进程的大小是否有限制。如果超过限制,则会出现错误?

也许您在没有先关闭记录集的情况下打开了记录集两次。@ta.speot.is,我以前从未见过此错误。该应用程序已运行多年。今天需要处理的记录数量异常多。Th我没有两次打开e记录集。您是否尝试从查询中仅检索少数记录并检查其是否有效?在记录集中存储记录可能有限制。@Nick,是的,如果我选择5000000行或更少,则查询有效。您的数据库后端是什么(Access,MSSQL)?错误可能来自您的数据源。此外,请发布完整的错误,并注明错误编号、说明和错误失败的行。