我需要将键值列表传递给SQL-Server中的存储过程,然后该存储过程返回Crystal报表所需的值。如何在Crystal Reports中指定SQL表类型输入参数?
而不是发送一个逗号分隔列表,然后解析它,有人建议我使用表类型。所以,我定义为只是使整数该表类型:
CREATE TYPE [dbo].[SiteIdentifiers] AS TABLE
(
[SiteId] BigInt,
PRIMARY KEY ([SiteId])
)
不过,现在我需要修改我的水晶报表,以采取作为输入参数。 (存储过程与...开始
CREATE PROCEDURE [dbo].[sp_SiteReport]
@SiteIds [dbo].[SiteIdentifiers] ReadOnly
AS
该报告将主要使用ColdFusion或者C#.net调用,所以我不认为会出现在ID加入到表型的问题。但我不知道如何在Crystal中定义该参数,创建新参数向导中的类型列表很少。
如果存储过程需要参数,是不是Crystal需要指定它们呢?这并不是说我不会最终使用逗号分隔的字符串,但更多的是关于不正确使用参数的初始问题。如果我要使用Crystal,并且存储过程需要参数,那么似乎是参数的要点。 – thursdaysgeek 2010-09-27 20:52:25
啊,没有意识到存储过程需要的参数(尽管你明确地这么说)。在这种情况下,参数是否完全需要由Crystal生成?如果你先运行proc,用一个存储在sql-server上的查询来提供它,然后运行Crystal? – PowerUser 2010-09-27 21:04:56