【问题标题】:Stored Procedure not showing fields in Crystal reports存储过程未在 Crystal 报表中显示字段
【发布时间】:2012-04-26 00:23:21
【问题描述】:

使用: VS2010中的CR,SQL Server 2008R2

我有一个在 SQL Server 中运行时返回结果的 SP,但是当我将它添加到 CR 时,它不会在字段资源管理器中显示任何字段。但如果我尝试任何其他 SP,它工作正常,我可以看到它的字段。 我正在执行的步骤:

  1. 打开现有的 CR
  2. 右键单击数据库字段 --> 数据库专家 --> 删除旧的 SP --> 添加新的 SP
  3. 弹出 Enter Values 的窗口,我将所有设置为 NULL 并单击 OOK
  4. 新 SP 显示在右侧的数据库专家中
  5. 我可以在字段资源管理器的数据库字段部分看到新的 SP。
  6. 但是它旁边没有加号+符号。这意味着它不显示其字段。

事实上,新 SP 和旧 SP 都具有相同数量的字段。只是修改了一些 sql。

对这个很生气..请帮忙。

谢谢

【问题讨论】:

  • 能否显示存储过程的tsql。它是否使用动态 sql 或其他会掩盖其结果的方法。

标签: stored-procedures crystal-reports sql-server-2008-r2


【解决方案1】:

更改存储过程后如何在 Crystal Report 中更新存储过程 在数据库中。

当您向数据库中的存储过程添加参数时,也可以使用此过程。

  1. 确保您的 SP 返回一个数据集,而不是通过您的 SP 中的另一个 SP。

    例如。这不起作用: @sql = '从某个表中选择 *' 执行(@sql)

    如果是这种情况,请在您的 SP 末尾临时添加一条 select 语句

    @sql = '从 table1 中选择 column1、column2' 执行(@sql)

    从table1中选择column1、column2

  2. 在 Crystal Report 的字段资源管理器中,右键单击您的 SP 并设置数据源位置。 填写与数据库的连接详细信息。

    • 选择您现有的 SP 和 来自新数据库连接的 SP,然后单击更新按钮。
  3. 在 CR 菜单中,数据库->验证数据库

  4. 验证数据库后,从 Step1 中删除临时 select 语句。

【讨论】:

  • 感谢您的回答。非常感谢。
【解决方案2】:

我通过不接受左侧子报表链接中的默认选择水晶得到它。我不得不将其更改为我自己的,并且不使用默认值。

那行得通。 谢谢

【讨论】:

    【解决方案3】:

    我有同样的问题,几乎花了1天时间寻找水晶报告的不同方面,然后我找到了

    1. 存储过程中存在问题,我已更正,但字段编辑器仍然不可见。
    2. 然后我发现 Crystall 报告安装的版本已损坏,因此重新安装它并运行。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 2015-09-02
    相关资源
    最近更新 更多