点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我对水晶报告的报告有疑问。
Crystal Reports Engine版本:
我们有一个使用报告来打印报告的加载项。 尝试打印表单(UDO)时,出现此错误:
"数据库登录失败。" 在这一行:reportDoc.PrintToPrinter(1,false,0,0);
有我们使用的代码:
ReportDocument reportDoc = null; 尝试 { reportDoc = new ReportDocument(); } 捕获(CrystalDecisions.CrystalReports.Engine.EngineException EE) { //抛出异常 } 字符串sPath = null; sPath = System.Windows.Forms.Application.StartupPath; reportDoc.Load(sPath +" \\ report.rpt"); TableLogOnInfo logOnInfo; ConnectionInfo crConnectionInfo =新的ConnectionInfo(); crConnectionInfo.ServerName =" xxx.xxx.xxx.xxx:30015"; crConnectionInfo.DatabaseName =" SBO_TEST"; crConnectionInfo.UserID =" SYSTEM"; crConnectionInfo.Password ="密码"; foreach(reportDoc.Database.Tables中的表tbCurrent) { logOnInfo = tbCurrent.LogOnInfo; logOnInfo.ConnectionInfo = crConnectionInfo; tbCurrent.ApplyLogOnInfo(logOnInfo); } ParameterDiscreteValue参数=新的ParameterDiscreteValue(); ParameterValues paramValue = new ParameterValues(); param.Value = int.Parse(oEdit.Value.ToString()); paramValue = reportDoc.DataDefinition.ParameterFields [0] .CurrentValues; paramValue.Add(param); reportDoc.DataDefinition.ParameterFields [0] .ApplyCurrentValues(paramValue); System.Windows.Forms.PrintDialog printDialog =新的System.Windows.Forms.PrintDialog(); IntPtr Ihwnd = cIniFile.IniGetWindow(); //新的WindowWrapper(Ihwnd) System.Windows.Forms.DialogResult结果= printDialog.ShowDialog(新WindowWrapper(Ihwnd)); 如果(结果== System.Windows.Forms.DialogResult.OK) { reportDoc.PrintOptions.PrinterName = printDialog.PrinterSettings.PrinterName; reportDoc.PrintToPrinter(1,false,0,0); SBO_Application.SetStatusBarMessage(" Impressionterminée!",SAPbouiCOM.BoMessageTime.bmt_Short,false); }
我们如何才能在此报告中传递良好的凭据? 我们如何解决此错误?
感谢您的帮助。
最诚挚的问候,
迈克尔
(14.1 kB)
您的代码对我来说不错,但我可能遗漏了一些东西。 有关如何设置凭据和参数的良好示例,请参见 Don Williams 博客,网址为:https://blogs.sap.com/2016/ 02/17/how-to-parameters-in-crystal-reports-for-visual-studio-net/
其中包含有关如何设置数据库凭据的示例。
-戴尔
一周热门 更多>