水晶报表 无效索引。 (异常来自 HRESULT:0x8002000B (DISP_E_BADINDEX))错误的解决
问题描述:调用水晶报表时报错,错误信息为无效索引。 (异常来自 HRESULT:0x8002000B (DISP_E_BADINDEX))
问题出现的代码位置:SetDataSource
问题解决办法:检查报表用到的字段是否包含在对应的Dataset中,如果没有则会提示上面的错误
问题解决过程:
1、根据代码判断是水晶报表的问题,但是使用其它报表文件不报错,因此可以初步判定不是水晶报表的BUG,而是报表文件的问题;
2、根据第1步,判断是报表文件的问题,于是将重建报表模板参照报错报表,但是依然报错;
3、根据第2步,判断是报表文件内容有错,于是删除所有数据库字段项报错,但是依然报错;
4、根据第3步,检查传递报表参数是否完整最终发现缺少参数,添加问题解决
其他导致原因:
1.参数字段传值与报表参数不对应(缺少必填项、参数传递过多、参数不对应等)
2.dataset模板更新不及时,导致取值与模板不一致
3.公式字段报错