【问题标题】:Date parameter using with stored procedures in SQL Server日期参数与 SQL Server 中的存储过程一起使用
【发布时间】:2014-08-06 13:40:09
【问题描述】:

我正在尝试使用 SQL Server 2008 中的存储过程 (SP) 检索 iReport 中的数据。

我的存储过程使用两个参数Date_FromDate_To。我想在指定的(通过这些参数)期间运行报告,但无论如何我都有“报告中没有数据”之类的信息。在表中,日期以“yyyy-MM-dd 00:00:00.000”格式存储。这两个参数都设置为“java.util.Date”。在报告查询中,我有:

  • 查询语言 = plsql
  • 在查询窗口中:Name_of_procedure $P{Date_From}, $P{Date_To}

我在某处发现了可以更改日期格式的信息,我已将其更改为: 日期格式“yyyy-MM-dd”,但在此更改之后,iReport 将返回设计器窗口,而不是生成报告,没有任何错误或信息。

请问如何正确设置以“yyyy-MM-dd”格式提供日期的参数?

iReport 版本:5.1.0

【问题讨论】:

    标签: sql-server stored-procedures jasper-reports ireport


    【解决方案1】:

    要查看错误,您可以转到 Window--> Report Output 选项,在那里您可以找到错误。

    调用过程的语法应该是

      CALL  Name_of_procedure ( $P{Date_From}, $P{Date_To})
    

    要设置参数的默认值,您可以使用此语法。

       new  Date(114,7,06)  --> to set default date as 06 Aug 2014.
    

    【讨论】:

    • 沙拉德,谢谢你的建议。我无法检查它,因为不在办公室。使用“CALL Name_of_procedure ($P{Date_From}, $P{Date_To})”会导致错误,例如“错误:com.microsoft.sqlserver.jdbc.SQLServerException:'@P0' 附近的语法不正确”。我使用服务器上的 SQL Profiler 来检查 iReport 发送给 SQL 的具体内容,结果如下:declare @p1 int set @p1=5 exec sp_prepexec @p1 output,N'@P0 datetime,@P1 datetime',N'Rpt__DepSumM @P0, @P1 ','1970-01-01 13:46:42','1970-01-01 13:46:44.297' select @p1 go
    • 如果我选择了今天的日期,那就太可惜了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多