Stored procedures 将多值参数传递给存储过程
向crystal report存储过程传递多个参数时遇到问题。我有一个存储过程,只要StockNumber参数是单值,它就可以正常工作。 当我尝试将其更改为多值时,发生了两件事:它是否显示消息:此存储过程不能接受多个值。或者,若尝试直接启用过程中的参数以接受多个值,则只需关闭应用程序而不会出现任何错误。 据我所知,这是存储过程的限制,而不是crystal reports。 无论如何,我需要解决这个问题。我只是不知道如何在crystal reports环境中操作参数。请讨论一下。谢谢Stored procedures 将多值参数传递给存储过程,stored-procedures,crystal-reports,report,Stored Procedures,Crystal Reports,Report,向crystal report存储过程传递多个参数时遇到问题。我有一个存储过程,只要StockNumber参数是单值,它就可以正常工作。 当我尝试将其更改为多值时,发生了两件事:它是否显示消息:此存储过程不能接受多个值。或者,若尝试直接启用过程中的参数以接受多个值,则只需关闭应用程序而不会出现任何错误。 据我所知,这是存储过程的限制,而不是crystal reports。 无论如何,我需要解决这个问题。我只是不知道如何在crystal reports环境中操作参数。请讨论一下。谢谢 SEL
SELECT
"table1"."StockNum"
, "table1"."StockOnhand"
, "table1"."StockNumber"
, "table1"."StockLocation"
,"table2"."StockDesc"
,"table2"."StockDesc2"
, "TotalSoldItems"."SoldItems"
FROM
"AAG1"."DB2"."table1" "table1"
LEFT JOIN
(
SELECT
SUM ("StockNumAA"."StockNumQuantity") "SoldItems"
, "StockNumAA"."from"
FROM
"AAG1"."DB2"."StockNumAA" "StockNumAA"
WHERE "StockNumAA"."code"='BB'
AND "StockNumAA"."StockNumber" = '{?3PartNumber}'
AND ("StockNumAA"."date">={?1StartDate}
AND "StockNumAA"."date"<={?2EndDate})
GROUP BY
"StockNumAA"."from"
) "TotalSoldItems"
ON "table1"."StockLocation" = "TotalSoldItems"."from"
LEFT JOIN
"AAG1"."DB2"."table2" "table2"
ON "table1"."StockNumber" = "table2"."Stocknumber"
WHERE "table1"."StockNumber" = '{?Stocknumber}'
我不是crystal reports专家,但通常在尝试将多值传递给SQL中的存储过程时,可接受的方法是将其作为逗号分隔的字符串传递,如
item1, item 2, item 3
然后,您只需编写一个函数,该函数可以用逗号分割它们并返回一个集合
编辑:同样,我对crystal reports一无所知,但我做了一些研究,找到了另一个论坛的摘录。它讨论了如何将多重标识符用作逗号分隔的字符串:
如果您的多值参数为
键入字符串,您可以将其放入
展平曲线的公式定义
参数
我不是crystal reports专家,但通常在尝试将多值传递给SQL中的存储过程时,可接受的方法是将其作为逗号分隔的字符串传递,如
item1, item 2, item 3
然后,您只需编写一个函数,该函数可以用逗号分割它们并返回一个集合
编辑:同样,我对crystal reports一无所知,但我做了一些研究,找到了另一个论坛的摘录。它讨论了如何将多重标识符用作逗号分隔的字符串:
如果您的多值参数为
键入字符串,您可以将其放入
展平曲线的公式定义
参数
是的,这就是我要说的。我不知道如何从crystal reports中的参数创建这样的字符串。@user194076希望我在编辑中发布的代码能够满足您的需要。是的,这就是我要说的。我不知道如何从crystal reports中的参数创建这样的字符串。@user194076希望我在编辑中发布的代码可以满足您的需要。