1

为了做我的事情,我查询数据库 (Access) 以查看我的数据是否已经存在。所以,我使用的是 OleDbDataReader。此刻一切都很好。

接下来,根据我的查询结果,我正在执行插入或更新。问题是,此操作使用的参数 (OleDbParameters) 与我在第一个查询中使用的参数相同。

因此,当我尝试将这些参数添加到命令时,我收到此错误:

OleDbParameter 已被另一个 OleDbParameterCollection 包含

我尽一切努力清除这些参数: - 在 OleDbDataReader 上关闭 - 在 OleDbDataReader 上处理 - myOleDbDataReader = null

但似乎没有任何效果。

有人知道吗?

非常感谢。

4

1 回答 1

4

要解除 OleDbParameters 与 OleDbParameterCollection 的关联,您可以对 OleDbParameterCollection 使用Remove 方法。作为替代方案,Clear 方法将在一个步骤中对集合中的所有参数执行此操作。

您还应该小心使用具有多个命令的单个连接。您将在此处找到有关此主题的更多信息。

于 2009-12-29T00:01:16.547 回答