我正在尝试制作一个简单的水晶报表查看器应用程序,我无法让查看器设置登录信息。基本上我想要做的就是点击一个按钮,它应该打开一个报告。很简单,我认为但显然不是。这里是我的代码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;
}
最糟糕的是,这种代码工作正常,在我的电脑之一,但不是我想要的工作的。 再一次,这个代码完全编译和工作在我的一台电脑上,但没有另一台,我无法弄清楚为什么我的生活。上帝,我希望有人能帮助。
当我运行该程序并单击按钮时,它会提示我输入用户名和密码,但是当我输入它时,它会显示“登录失败”,另一个问题是“数据库”字段未填充尽管它应该是登录表单。