为什么不能关闭打开的ADODB。记录集?



我的Python脚本使用ADODB。记录集对象。 我使用ADODB。具有 ADODB 集合的命令对象。用于更新集中记录的参数对象。 之后,我检查记录集的状态,它是 1,即 adStateOpen。 但是当我调用 MyRecordset.Close() 时,我收到一个异常,抱怨该操作在集合的当前状态下无效。 打开的记录集可能处于什么状态,导致关闭它无效,我该怎么做才能修复它?

代码分散在几个文件之间。 我会努力做一个插图。

是的,这就是问题所在。 一旦我更改了记录集的 ADODB 之一的值。字段对象,我必须使用 ADODB 更新记录集。Recordset.Update() 或调用 CancelUpdate()。

我正在经历ADODB的所有这些严格角色的原因。命令对象是那个ADODB。Recordset.Update() 随机(或者在我看来是这样)失败的时间,抱怨"基于查询的更新失败,因为找不到要更新的行"。 我从来没有能够预测什么时候会发生,或者找到一种可靠的方法来防止它发生。 当这种情况发生时,我唯一的选择就是更换ADODB。Recordset.Update() 调用,构造一个完整的更新查询并使用 ADODB 执行它。连接或 ADODB。命令对象。

最新更新