c# - 水晶报表“加载报表失败”
问题描述
我的问题似乎是一个重复的问题,但这真的让我很难过。我在 C# 版本 16.7.6 中开发了一个应用程序,我的 CR 报告是版本 11。问题是我的应用程序在我的计算机上运行得像黄油一样,这也是一台开发计算机,它也打开了 CR,但在任何其他计算机上我程序在加载 CR 时抛出错误“加载报告失败”。以下是我的参考代码:
private void LoadReport()
{
ReportDocument cryrpt = new ReportDocument();
try
{
TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
ConnectionInfo crConnectionInfo = new ConnectionInfo();
Tables CrTables;
crConnectionInfo.ServerName = "*****";
crConnectionInfo.DatabaseName = "*****";
crConnectionInfo.UserID = "*****";
crConnectionInfo.Password = "*****";
MessageBox.Show(Application.StartupPath + @"\Prescription.rpt ");
cryrpt.Load(Application.StartupPath + @"\Prescription.rpt");
CrTables = cryrpt.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
{
crtableLogoninfo = CrTable.LogOnInfo;
crtableLogoninfo.ConnectionInfo = crConnectionInfo;
CrTable.ApplyLogOnInfo(crtableLogoninfo);
}
ParameterFieldDefinitions pfds;
ParameterFieldDefinition pfd;
ParameterValues pv = new ParameterValues();
ParameterDiscreteValue pdv = new ParameterDiscreteValue
{
Value = Form1.PrescriptionNumberForReport //captures the parameter value
};
pfds = cryrpt.DataDefinition.ParameterFields;
pfd = pfds["FROMPRESNO"];
pv = pfd.CurrentValues;
pv.Clear();
pv.Add(pdv);
pfd.ApplyCurrentValues(pv);
crystalReportViewer1.ReportSource = cryrpt;
crystalReportViewer1.Refresh();
}
catch (Exception ex)
{
MessageBox.Show("Error Encountered: " + ex.Message, "Search Prescription", MessageBoxButtons.OK, MessageBoxIcon.Error);
if (cryrpt != null)
{
cryrpt.Close();
}
}
}
我将不胜感激收到对我上述问题的任何建议或回复。
这是详细的错误:
解决方案
推荐阅读
- java - 直接从生成的声音数组播放 Kotlin/Java 中的声音
- javascript - 从 ParcelJS 包导入
- python - 如何在不使用任何内置函数的情况下在数组中插入元素
- java - 数组列表
总是产生一个 char[],而不是一个字符串。我该如何解决? - c# - 在 C# 中的 Winform 面板控件上执行 DragOver 事件时鼠标光标闪烁
- c# - 单击行时将动态值传递给事件处理程序
- office-ui-fabric - 鼠标移出内容时未关闭 TooltipHost 标注
- matlab - 如何定义微分方程组?
- python - 如何在 django 中添加“按用户名或电子邮件地址搜索”字段忘记密码
- mysql - 如何通过分组计算值的百分比