此代码正常工作,但我在报告调用正常链接时遇到一些错误,但是 每次询问参数和数据库连接。
private void showReport(int? clsID,int? secID,int? facID)
{
try
{
crystalReportViewer1.RefreshReport();
ReportDocument rd = new ReportDocument();
rd.Load(Application.StartupPath + "\\Reports\\ttreport1.rpt");
crystalReportViewer1.ReportSource = rd;
var data = obj.st_getTimeTableReprot(clsID, secID, facID);
rd.SetDataSource(data.ToList());
}
catch (Exception ex)
{
MainClass.ShowMSF(ex.Message, "Error", "Error");
}
}
答案 0 :(得分:0)
这可能不是最好的答案,因为它涉及对凭据进行硬编码,但是,我很绝望。下面是一个例子,说明我前几天在ASP.NET/C#项目中调用的Crystal Report不会停止提示我输入凭据的情况。
我会尝试对您用于生成报告数据的凭据进行硬编码,看看是否有帮助。
受保护的无效BtnTagNo_Click(对象发送者,EventArgs e) { 字符串btn_fileSavePath;
btn_fileSavePath = @"\\myserver\c$\inetpub\wwwroot\myReport.RPT";
ReportDocument cryRpt = new ReportDocument();
TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
ConnectionInfo crConnectionInfo = new ConnectionInfo();
Tables CrTables;
string path = btn_fileSavePath;
cryRpt.Load(path);
cryRpt.SetParameterValue("TagNo", Convert.ToInt32(txtTagNo.Text));
crConnectionInfo.ServerName = "YOURSERVER\\HERE";
crConnectionInfo.DatabaseName = "DBNAME";
crConnectionInfo.UserID = "userID";
crConnectionInfo.Password = "password";
CrTables = cryRpt.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
{
crtableLogoninfo = CrTable.LogOnInfo;
crtableLogoninfo.ConnectionInfo = crConnectionInfo;
CrTable.ApplyLogOnInfo(crtableLogoninfo);
}
CrystalReportViewer1.ReportSource = cryRpt;
}