4

我创建了多个组合框,我从创建的存储过程中为每个组合框提取数据,所有这些框都在工作,直到今天早些时候,2 个组合框停止工作,检查行的“立即窗口”和列,我得到了列的结果,但是当我检查列时,例如 ?dsContactTitles.Tables(0).Rows 我得到以下列表的一部分:

item: In order to evaluate an indexed property, the property must be qualified and the 
arguments must be explicitly supplied by the user.

否则,当我检查特定行时,我会得到一个 ArrayOutOfBoundException。这在很长一段时间内都运行良好,请问有人知道这种不一致的原因吗?

4

1 回答 1

3

由于您在即时窗口中转储整个 Rows 对象,因此您会看到 Rows 对象的属性列表。属性之一是 Item,但这需要一个索引才能显示任何有效数据,这就是消息告诉您的内容。

如果你看?dsContactTitles.Tables(0).Rows.Item(0),那么您将看到第一行(如果存在)。

如果您检查特定行并获得索引越界错误,那么这意味着您不再从数据库中检索该行。尝试手动执行您的存储过程,看看它是否返回您期望的值。如果没有,您需要更新数据库或存储过程。

于 2012-08-02T18:00:41.097 回答