Crystal Report Viewer不接受登录信息

时间:2014-04-23 21:46:45

标签: c# winforms crystal-reports

我正在尝试创建一个简单的水晶报表查看器应用程序,但我无法让查看器设置登录信息。基本上我想要做的就是点击一个按钮它应该打开一个报告。我觉得很简单,但显然不是。这是我的代码

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;
    }

最糟糕的是,这段代码在我的一台计算机上运行FINE,但不是我希望它能运行的代码。 再次,这段代码完全编译并在我的一台计算机上运行,​​而不是另一台计算机,我无法弄清楚为什么会这样。上帝,我希望有人可以提供帮助。

当我运行程序并单击按钮时,它会提示我输入用户名和密码,但是当我输入它时,它会显示“登录失败”,另一个问题是登录时未填充“数据库”字段即使它应该是形式。

1 个答案:

答案 0 :(得分:-1)

好的,我解决了这个问题。不完全确定为什么会这样,但我会发布我在这里做的后代,因为我找不到任何能够在这里帮助我的人。

首先,我在给我问题的计算机上安装了Crystal Reports。 (我的公司有2011年的许可证,所以我安装了2011年)

接下来,我打开报告(使用Crystal Reports 2011程序)并尝试预览它,它提示我输入登录信息,因此我提供了登录信息并让报告生成预览。

最后我运行了程序,它运作了!

所以我认为问题主要是通过安装水晶报告解决的,但我认为仍然有必要进入报告本身,并确保它可以生成预览。