[英]How to specify a SQL table type input parameter in Crystal Reports?
我需要将键值列表传递给SQL Server中的存储过程,然后该存储过程返回Crystal报表所需的值。
建议不要使用逗号分隔的列表然后进行解析,而建议使用表类型。 因此,我将表类型定义为简单地由整数组成:
CREATE TYPE [dbo].[SiteIdentifiers] AS TABLE
(
[SiteId] BigInt,
PRIMARY KEY ([SiteId])
)
但是,现在我需要修改Crystal Report以将其作为输入参数。 (存储过程开始于...
CREATE PROCEDURE [dbo].[sp_SiteReport]
@SiteIds [dbo].[SiteIdentifiers] ReadOnly
AS
报表大多使用ColdFusion或C#.net调用,因此我认为向表类型添加ID不会有问题。 但是我不知道如何在Crystal中定义该参数。 “创建新参数”向导中的“类型”列表不多。
我认为您没有在Crystal中正确使用Parameter概念。 据我所知,它最好用于手动输入数据(而您正在尝试传递多维数组,而不是对其的最佳使用)。 我建议:
通常,通过将报表指向该过程来创建运行该过程的Crystal报表-该过程所需的任何参数都会在报表中自动生成。 如果您是在Crystal Reports设计器中完成此操作的,而报表未生成表输入参数,那么我认为您不能以这种方式进行。
作为使用逗号分隔列表的另一种选择,您是否考虑过:
据我所知,这是不可能的。 Crystal不会采用其他应用程序(例如SQL Server)无法识别的数据类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.