【问题标题】:Crystal Reports - Setting and Changing the Data Source Dynamically in C#Crystal Reports - 在 C# 中动态设置和更改数据源
【发布时间】:2010-07-28 06:00:19
【问题描述】:

我创建了一个 Crystal 2008 报表,我想在我的 C# 应用程序中显示这个报表。用户可以选择让报表从两个不同的数据库之一中获取数据。在我的代码中,我将数据源更改如下:

    if (site == "PBG")
        reportDocument.DataSourceConnections[0].SetConnection("Server1", "MESProduction", "User", "Password");
    else
        reportDocument.DataSourceConnections[0].SetConnection("Server2", "MESProduction", "User", "Password");
    reportDocument.DataSourceConnections[0].IntegratedSecurity = false;

报告是使用第一个连接信息创建的。如果用户选择此数据库来提取数据,则报告工作正常。如果他/她选择第二个,则报告不起作用。

两个问题:1)这是在运行时动态设置报表的服务器/数据库源的正确方法吗? 2)如果方法正确,为什么当用户选择第二个服务器/数据库时报告不起作用?数据库的schema和第一个完全一样。

【问题讨论】:

    标签: c# crystal-reports


    【解决方案1】:

    我知道你在 C# 之后,但我在这里接受的答案应该可以帮助你Crystal Reports Configuration Tool

    (显然需要稍微调整一下,因为它设置了多个报告的数据源,但是您需要的基本要素就在那里)

    【讨论】:

    • 感谢您的回复。我基本上更改了我的代码以模仿你的代码,但我仍然遇到与以前相同的错误。如果我使用创建报告的连接信息,它就可以工作。如果我使用不同的服务器和数据库,它就不起作用。 Crystal 运行时告诉我报告文件中有错误。但是,这两个数据库具有完全相同的架构。
    【解决方案2】:

    我认为报告中的命令表已经知道要访问的连接。

    尝试在运行时更改 CommandTable 的 .ConnectionInfo 属性。

    【讨论】:

      猜你喜欢
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多