【问题标题】:Crystal Reports - Certain output from SQL not displayingCrystal Reports - SQL 的某些输出未显示
【发布时间】:2014-03-26 12:29:08
【问题描述】:

我目前正在尝试解决与从存储过程返回的某些行相关的 Crystal Report/SQL 存储过程的问题显示。

一点背景知识:存储过程从某个表中获取记录,并包含一个与表中的两个外键匹配的 WHERE 子句。水晶报表显示从此过程返回的行。出现了一个问题,输入到表中的数据可能缺少给定的外键之一。然后存储过程将无法返回该行。

已决定将存储过程 WHERE 子句更改为仅匹配其中一个键(该行保证具有的键)。目前不记得为什么需要检查另一个密钥,原因已被时间遗忘。 :/

在任何情况下,都进行了更改,但是受影响的行没有出现。直接运行存储过程,就看到了正确的输出。

我的问题:有没有办法根据字段的值限制 Crystal Report 中的结果集,类似于 SQL 查询中的 WHERE 子句,这可能会导致某些记录不显示在举报?

另外:可能没有显示整个结果集的任何其他原因?检查的地方?

我是一个完整的 Crystal Reports 新手。

【问题讨论】:

  • 所以,有一个发展。该报告使用两个存储过程来返回不同的信息。我不知道它们以任何方式链接,但是当您查看数据库专家时,会出现某种连接。似乎这就是需要这两个键的原因。我犹豫是否将其作为答案,因为我仍然不知道具体意义上发生了什么。不过问题已经解决了,感谢大家的帮助。如果有人可以解释两个存储过程之间的连接是如何工作的,我很乐意将其作为这个问题的答案。谢谢。

标签: sql stored-procedures crystal-reports


【解决方案1】:

表格是否正确链接?听起来这可能是 INNER JOIN 与 OUTER JOIN 的问题。

关于限制水晶内结果的部分 - 如果我理解正确,您需要使用选择专家。选择有问题的字段并选择“不等于”之类的内容并将值放入。

【讨论】:

    【解决方案2】:

    因为您可以看到从存储过程返回的记录...以下几点可以帮助您:

    1. 水晶报表中的选择专家用作 where 子句...因此,如果您希望将数据限制在报表中,则可以将您的条件放在选择专家中。
    2. 如果您在报表中使用参数并且参数中的值与存储过程返回的数据不匹配,那么 CR 也会为空。
    3. 检查数据库连接到水晶报表是否连接到正确的数据库。

    【讨论】:

    • 我肯定连接到正确的数据库,我正在手动更改测试数据并看到它反映在 CR 中。 CR 正在返回一些数据,它表现得好像存储过程没有被更改,并且只返回具有两个键的行。我在文档中看到了选择专家,但我无法理解如何查看现有条件,只知道如何添加新条件。您能否详细说明如何使用 Select Expert 来查看是否应用了条件?
    • 要查看选择专家...go to Report ---> Select expert 在那里您可以检查是否存在任何条件。通常如果为空白,则暗示已应用选择专家,但如果您想检查仍然存在然后去Database ---> show sql query那里你可以看到生成的查询并检查任何where子句。既然您说您已更新程序,请尝试一次选项Database ---> Verify database,以便加载任何更改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多