1

我在 sql-server 中有一个存储过程,它返回的参数之一是带有查询参数的字符串。我在报告顶部显示这些查询参数。如果找到了东西,那效果很好,如果什么也没找到,效果就不那么好了。

我们尝试返回两个查询结果,一个是我将用来生成报告的数据集(包括查询参数),另一个是查询参数字符串。Crystal 似乎只看到第一个数据集,这个非常古老的讨论 ( http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=42462 ) 说这不是可行的。但那是 5 年前的事了,我希望情况有所改变。

问题是,如果没有返回任何内容,则报告是如此空白,以至于人们甚至不知道他们使用了哪些查询参数。如果他们能看到他们查询的东西没有返回任何结果,那将很有用。

所以,如果我在存储过程结束时有:

SELECT * FROM [#ResultSet]
select @SearchCriteria as SearchCriteria

即使#ResultSet 中没有任何内容,我也希望能够显示 SearchCriteria。这个版本的Crystal可以做到吗?还有另一种方法可以做到这一点吗?

4

2 回答 2

1

除非如第一个答案所述,一个过程的结果与另一个过程的列数相同(这包括类型),如果是这种情况,您可以 UNION 结果或 UNION ALL 结果(如果您想要重复)得到一个结果集。

如果类型或列不同,则不能这样做。您可以做的唯一其他选择是将所有相关数据合并到一个临时表中,然后从该临时表中返回结果 ( SELECT * FROM #temp)

于 2011-10-03T17:26:03.707 回答
0

您目前如何在找到结果时显示参数

您还没有提到如何在您的环境中使用 Crystal Report。

通常,我通过将参数作为报表参数传递给 Crystal Report,然后在字段中使用它们来完成条件显示。这假设您以某种方式从客户端应用程序调用它。

另一种选择是将结果加载到客户端数据表中并将其作为数据源绑定,当然可以以这种方式处理多个结果集。

于 2011-10-03T17:36:16.303 回答