我正在嘗試製作一個簡單的水晶報表查看器應用程序,我無法讓查看器設置登錄信息。基本上我想要做的就是點擊一個按鈕,它應該打開一個報告。很簡單,我認爲但顯然不是。這裏是我的代碼Crystal Report Viewer不接受登錄信息
private void button1_Click(object sender, EventArgs e)
{
ConnectionInfo connInfo = new ConnectionInfo();
connInfo.ServerName = "SERVER NAME";
connInfo.DatabaseName = "DATABASE NAME";
connInfo.UserID = "USERNAME";
connInfo.Password = "PASSWORD";
crystalReportViewer1.ReportSource = GetReportSource(connInfo);
crystalReportViewer1.RefreshReport();
}
private ReportDocument GetReportSource(ConnectionInfo connInfo)
{
ReportDocument document = new ReportDocument();
document.Load("REPORTPATH");
document.SetParameterValue(0, "04/02/2014");
document.SetParameterValue(1, "04/03/2014");
TableLogOnInfos logonInfos = new TableLogOnInfos();
TableLogOnInfo logonInfo = new TableLogOnInfo();
Tables tables;
tables = document.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)
{
logonInfo = table.LogOnInfo;
logonInfo.ConnectionInfo = connInfo;
table.ApplyLogOnInfo(logonInfo);
}
return document;
}
最糟糕的是,這種代碼工作正常,在我的電腦之一,但不是我想要的工作的。 再一次,這個代碼完全編譯和工作在我的一臺電腦上,但沒有另一臺,我無法弄清楚爲什麼我的生活。上帝,我希望有人能幫助。
當我運行該程序並單擊按鈕時,它會提示我輸入用戶名和密碼,但是當我輸入它時,它會顯示「登錄失敗」,另一個問題是「數據庫」字段未填充儘管它應該是登錄表單。