从iReport调用MSSQL存储过程
我想从iReport调用MSSQL服务器中的存储过程 查询:从iReport调用MSSQL存储过程,sql,sql-server,jasper-reports,ireport,Sql,Sql Server,Jasper Reports,Ireport,我想从iReport调用MSSQL服务器中的存储过程 查询: SET QUOTED_IDENTIFIER OFF SET DATEFORMAT mdy Exec SP_SAMPLE '12-jan-2008', '12-jul-2011', "$P!{Param1}", "$P!{Param2}", 1, "$P!{Param3}" SET QUOTED_IDENTIFIER ON Where, Param1 = 'A436F3A9-6A8B-40C4-B38E-56
SET QUOTED_IDENTIFIER OFF
SET DATEFORMAT mdy
Exec SP_SAMPLE '12-jan-2008', '12-jul-2011',
"$P!{Param1}",
"$P!{Param2}",
1,
"$P!{Param3}"
SET QUOTED_IDENTIFIER ON
Where,
Param1 = 'A436F3A9-6A8B-40C4-B38E-567B05522449',
'4DD40BC2-3390-4B1B-8841- 483A8FDAB2FD',
'B95E8F04-6EE7-4BC6-BDD0-F95C4AFDAC0B',
'AE757961-0E25-41B8-A382- 7600DDA0ABC7',
'90B9CC0C-6090-4CEF-8BC9-9C8EA3C0F63C',
'1E191B19-13D0-4CE2-B1EC- 3CFF9316887F',
'A9EE7AE9-435C-4164-96F5-3DB20A6321BE',
'DCD6D045-8B42-4B83-8C97-21EE9DFF644C'
Param2 = '4E6E8464-F08A-4BB8-950F-38908E4E7B30',
'76EBA40E-F898-4541-9208-8A6B3A35E082',
'7C64DA92-C168-4A74-8955-F1974258AD12',
'2E6DDC25-E037-4842-9E7F-2B9586561744'
Param3 = 3EC43FB7-F258-4441-8188-A55E7BD40ADE
请注意,存储过程param1
、param2
、param3
在sqlserver中是文本数据类型。而在iReport中,我把它们收集起来
有谁能告诉我如何在iReport中用双引号生成上述查询
另外,在运行iReport时,是否有任何方法显示带有填充参数值的查询?Jasper Reports使用两种类型的参数进行操作:$p{name_parameter}和$p!{name_parameter}。 你用的是$P!查询中的参数,该参数使您能够完全控制生成查询
示例:
<parameter name="strParam1" class="java.lang.String"/>
<parameter name="strParam2" class="java.lang.String"/>
<parameter name="strParam3" class="java.lang.String"/>
<queryString><![CDATA[SELECT atr1 FROM mytable WHERE stratr1=$P{strParam1} AND stratr2=$P!{strParam2} AND stratr3=$P!{strParam3}]]></queryString>
查询结果将是:
SELECT atr1 FROM mytable WHERE stratr1='string1' AND stratr2='string2' AND stratr3=string3
另外,是否有任何方法显示带有填充参数的查询 运行iReport时的值 在IReport 4.1中,您可以在输出控制台(IReport输出窗口)中查看结果查询
您可以设置log4j.properties以查看自定义java应用程序的结果查询。您能告诉我如何获得如下结果查询吗?我将通过集合参数传递参数['abc'、'def'、'ghi']?选择“'abc'、'def'、'ghi'”另外,请您解释一下,当使用独立的iReport应用程序运行时,如何显示带有填充参数值的查询?@Srinivasan_uuu?您的表达式将是:Srinivasan_uuuu。在iReport 4.1中,您可以在输出控制台(iReport输出窗口)中查看结果查询在iReport输出窗口中找不到填充有参数值的结果查询。另外,SELECT“$P!{strParam}”不起作用,它会显示一个sqlexception,声明字符串的最大长度为128。你能帮我一下吗?
SELECT atr1 FROM mytable WHERE stratr1='string1' AND stratr2='string2' AND stratr3=string3