如何在Crystal报表中使用多个存储过程?

4
我有两个存储过程想在我的存储过程中使用,但是一旦我这样做,它就会因错误而无法加载:“提供的参数无效,未检索到任何行集。”如果我删除其中一个,它就会重新开始工作。
我的水晶报告设置如下:
报告: 按租户“引用者”分组 此处是计算租户余额的存储过程
第二个存储过程在报告的选择中。我只想通过状态标志选择租户,并且我从存储过程中获取状态标志。
这两个存储过程都没有任何联系。一个返回一个值(选择中的那个),另一个返回多个值(分组中的那个)。它们都不需要任何参数,并且都是简单的 SQL 语句存储在数据库中。
第一个存储过程:GetAllTenantBalances
SELECT (SUM(tblTransaction.AmountPaid) - SUM(tblTransaction.AmountCharged)) AS TenantBalance, tblTransaction.TenantID
    FROM tblTransaction
    GROUP BY tblTransaction.TenantID

Second Proc: [GetTenantStatusID_Current]

SELECT ID FROM tblTenantStatus WHERE Description = 'Current'

有人能告诉我为什么我做不了这个,以及如何解决它吗?
3个回答

1

您可以将第一个存储过程更改为仅对“当前”租户求和。或者,如果您必须保留两个存储过程,则需要与数据库专家联系,并通过tenant_id将它们连接起来。


我已将第二个sp链接到Tenant.TenantStatus字段,当我取消链接时,它开始工作。 - Malfist

0

您也可以使用子报表来获取所需的数据。在主报表上使用一个存储过程,然后在子报表上使用另一个存储过程。

-JFV


-1

除非有所改变,否则您无法从报表中调用多个存储过程。我怀疑您也无法调用多个选择语句。您需要创建一个返回两个数据部分的存储过程或为第二个存储过程创建一个子报表。


一个“多重”选择语句只是一个“AND”。 - Malfist
你是指连接吗?'AND'通常是'On'子句或过时的'Where'子句的一部分。 - Dwight T

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接