c# - Crystal 报告错误:“内存已满。没有足够的内存进行操作。”
问题描述
我正在使用 VS2013 和水晶报告 2013
我将 30 个参数传递给水晶报表。
它工作正常5次,然后我收到下一个错误:-
内存已满。没有足够的内存进行操作。
到目前为止我尝试了什么: -
CrystalReport1.Refresh();
在没有解决问题的情况下使用。
感谢任何帮助。
编辑1: -
我知道我的问题可能缺乏信息,但我认为没有任何细节可以帮助你,这里的任何方式都是额外的信息,我希望它会有用。
我有下一个申请:-
当我单击打印时,它工作正常,下一个
如果我关闭窗口并再次按打印,它可以正常工作 5 或 6 次,然后我遇到下一个错误:-
编辑2: -
我的代码是:-
1)创建新表单并拖放水晶报表查看器。
2)在加载事件中,我编写了下一个代码:-
private void frmReport_Load(object sender, EventArgs e)
{
try
{
CrystalReport11.SetParameterValue("pName", PatientName);
CrystalReport11.SetParameterValue("pAge", Age);
CrystalReport11.SetParameterValue("pDate", Date);
CrystalReport11.SetParameterValue("P1", Number1);
CrystalReport11.SetParameterValue("P2", Number2);
CrystalReport11.SetParameterValue("P3", Number3);
CrystalReport11.SetParameterValue("P4", Number4);
CrystalReport11.SetParameterValue("P5", Number5);
CrystalReport11.SetParameterValue("P6", Number6);
CrystalReport11.SetParameterValue("P7", Number7);
CrystalReport11.SetParameterValue("pDrugsName1", DrugName1);
CrystalReport11.SetParameterValue("pDrugsName2", DrugName2);
CrystalReport11.SetParameterValue("pDrugsName3", DrugName3);
CrystalReport11.SetParameterValue("pDrugsName4", DrugName4);
CrystalReport11.SetParameterValue("pDrugsName5", DrugName5);
CrystalReport11.SetParameterValue("pDrugsName6", DrugName6);
CrystalReport11.SetParameterValue("pDrugsName7", DrugName7);
CrystalReport11.SetParameterValue("pQTY1", QTY1);
CrystalReport11.SetParameterValue("pQTY2", QTY2);
CrystalReport11.SetParameterValue("pQTY3", QTY3);
CrystalReport11.SetParameterValue("pQTY4", QTY4);
CrystalReport11.SetParameterValue("pQTY5", QTY5);
CrystalReport11.SetParameterValue("pQTY6", QTY6);
CrystalReport11.SetParameterValue("pQTY7", QTY7);
CrystalReport11.SetParameterValue("pTimeOfUse1", TimeOfUse1);
CrystalReport11.SetParameterValue("pTimeOfUse2", TimeOfUse2);
CrystalReport11.SetParameterValue("pTimeOfUse3", TimeOfUse3);
CrystalReport11.SetParameterValue("pTimeOfUse4", TimeOfUse4);
CrystalReport11.SetParameterValue("pTimeOfUse5", TimeOfUse5);
CrystalReport11.SetParameterValue("pTimeOfUse6", TimeOfUse6);
CrystalReport11.SetParameterValue("pTimeOfUse7", TimeOfUse7);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
我正在通过下一个代码调用表单:-
DrugName1 = (txtDrugsName1.Text == string.Empty) ? " " : txtDrugsName1.Text;
DrugName2 = (txtDrugsName2.Text == string.Empty) ? " " : txtDrugsName2.Text;
DrugName3 = (txtDrugsName3.Text == string.Empty) ? " " : txtDrugsName3.Text;
DrugName4 = (txtDrugsName4.Text == string.Empty) ? " " : txtDrugsName4.Text;
DrugName5 = (txtDrugsName5.Text == string.Empty) ? " " : txtDrugsName5.Text;
DrugName6 = (txtDrugsName6.Text == string.Empty) ? " " : txtDrugsName6.Text;
DrugName7 = (txtDrugsName7.Text == string.Empty) ? " " : txtDrugsName7.Text;
Number1 = (txtDrugsName1.Text == string.Empty) ? " " : "1";
Number2 = (txtDrugsName2.Text == string.Empty) ? " " : "2";
Number3 = (txtDrugsName3.Text == string.Empty) ? " " : "3";
Number4 = (txtDrugsName4.Text == string.Empty) ? " " : "4";
Number5 = (txtDrugsName5.Text == string.Empty) ? " " : "5";
Number6 = (txtDrugsName6.Text == string.Empty) ? " " : "6";
Number7 = (txtDrugsName7.Text == string.Empty) ? " " : "7";
QTY1 = (cmbQTY1.Text == string.Empty) ? " " : cmbQTY1.Text;
QTY2 = (cmbQTY2.Text == string.Empty) ? " " : cmbQTY2.Text;
QTY3 = (cmbQTY3.Text == string.Empty) ? " " : cmbQTY3.Text;
QTY4 = (cmbQTY4.Text == string.Empty) ? " " : cmbQTY4.Text;
QTY5 = (cmbQTY5.Text == string.Empty) ? " " : cmbQTY5.Text;
QTY6 = (cmbQTY6.Text == string.Empty) ? " " : cmbQTY6.Text;
QTY7 = (cmbQTY7.Text == string.Empty) ? " " : cmbQTY7.Text;
TimeOfUse1 = (cmbTimeOfUse1.Text == string.Empty) ? " " : cmbTimeOfUse1.Text;
TimeOfUse2 = (cmbTimeOfUse2.Text == string.Empty) ? " " : cmbTimeOfUse2.Text;
TimeOfUse3 = (cmbTimeOfUse3.Text == string.Empty) ? " " : cmbTimeOfUse3.Text;
TimeOfUse4 = (cmbTimeOfUse4.Text == string.Empty) ? " " : cmbTimeOfUse4.Text;
TimeOfUse5 = (cmbTimeOfUse5.Text == string.Empty) ? " " : cmbTimeOfUse5.Text;
TimeOfUse6 = (cmbTimeOfUse6.Text == string.Empty) ? " " : cmbTimeOfUse6.Text;
TimeOfUse7 = (cmbTimeOfUse7.Text == string.Empty) ? " " : cmbTimeOfUse7.Text;
frmReport obj = new frmReport(
txtPatientName.Text,
nudAge.Value.ToString(),
dtpDate.Text,
DrugName1,
DrugName2,
DrugName3,
DrugName4,
DrugName5,
DrugName6,
DrugName7,
QTY1,
QTY2,
QTY3,
QTY4,
QTY5,
QTY6,
QTY7,
TimeOfUse1,
TimeOfUse2,
TimeOfUse3,
TimeOfUse4,
TimeOfUse5,
TimeOfUse6,
TimeOfUse7,
Number1,
Number2,
Number3,
Number4,
Number5,
Number6,
Number7
);
obj.ShowDialog();
解决方案
我遇到了同样的问题,这也对我有用:
into frmReport_FormClosing Type crystalReportViewer1.Dispose(); and CrystalReport11.Dispose();
推荐阅读
- mediawiki - GROUP BY like #ask query in semantic-mediawiki
- android - 带有孔的多边形在高缩放时行为不正确(消失)
- javascript - addEventlistener() 不执行函数
- c++ - 如何在 sql 查询中传递 C++ 变量
- firebase - 如何使用 GCP 对应用进行身份验证?
- default-value - 未连接 RealInput 的默认值
- json - Scala & Circe:带有可选字段的 JSON 编码
- python - send_task() 和 apply_async() 之间的区别
- html - 删除容器内某些元素的边距
- c# - C# ML.NET 从微软教程中训练图像模型时出错