0

我在使用带有水晶报告字段的 for 循环时遇到问题。

我试图从我的报告中提取所有 SQLExpressionFieldDefinition。为了做到这一点,我得到了报告中 SQLExpressionFieldDefinition 的计数。

for 循环运行完美,直到它到达最后一次迭代。然后它抛出无效索引。也就是说SQLExpressionFieldDefinition->Count = 5 为例,前4次迭代工作,到第5次出现无效索引问题。

这是代码:

for ( nIterator = 1; nIterator <= rpt->DataDefinition->SQLExpressionFields->Count; nIterator++ )
            {
                SQLExpressionFieldDefinition 
                    *sqlExpressionFieldDefinition = rpt->DataDefinition->SQLExpressionFields->get_Item(nIterator);

                strText = sqlExpressionFieldDefinition->Text;}

等待您的答复。谢谢。

4

1 回答 1

0

数组的索引器应从值 0 开始,而不是从 1 开始,并以值结束Count - 1
Crystal Reports 也不例外。

for (nIterator=0; nIterator < rpt->DataDefinition->SQLExpressionFields->Count; nIterator++ )
于 2013-05-28T07:25:55.470 回答