Windows表单应用程序错误与水晶报告

时间:2017-10-04 03:08:43

标签: c# visual-studio crystal-reports

我遇到了大麻烦。 我是Windows窗体应用程序的新手。这是我在办公室的首次申请。 我的办公室管理人员给了我一个源代码。但他们对此一无所知。

我在visual studio 12(64位)上运行这些代码。一切都在运行,但水晶报告不起作用。引发错误。

错误是:

无法将“CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass”类型的COM对象强制转换为接口类型“CrystalDecisions.ReportAppServer.Controllers.ISCRReportSource”。此操作失败,因为对IID为“{98CDE168-C1BF-4179-BE4C-F2CFA7CB8398}”的接口的COM组件的QueryInterface调用由于以下错误而失败:不支持此类接口(HRESULT异常:0x80004002(E_NOINTERFACE))

这是截图:

enter image description here

这是代码:

ReportDAL rDal = new ReportDAL();
            receipt r = new receipt();


            DataTable dt = rDal.GetInvoiceHeader(vId);

            //string ww = GetInvoiceHeader(vId);
            r.Database.Tables["ReceiptDetails"].SetDataSource(rDal.GetInvoiceDetails(vId));
            r.Database.Tables["ReceiptHeader"].SetDataSource(rDal.GetInvoiceHeader(vId));
            r.SetParameterValue("pReportDeliveryTime", GlobalData.reportDeliveryTime);
            crystalReportViewer1.ReportSource = r;

任何人都可以精心为我提供解决方案。 因为我不太了解视觉工作室。

提前致谢。

2 个答案:

答案 0 :(得分:6)

现在也出现了同样的问题。

当我安装CR 13 Update 21时,我的项目在运行时给出了相同的异常。

我刚从Solution Explorer中删除了CrystalDecision的所有引用(实际上属于CR的先前版本,即CR 13 Update 20)。

然后我添加了来自Solution Explorer => References => Add Reference菜单的新参考文献。我从窗口中选择了所需的CrystalDecision包。重建,问题现在消失了。 enter image description here

答案 1 :(得分:2)

请在客户端计算机中安装较低运行时版本的Crystal报表。然后它会正常工作。就像目前你正在使用vs2012 cr运行时然后使用2008的运行时它将工作正常。

我有同样的问题,但现在我改为降低版本然后它对我来说很好。