带有多个参数的存储过程的 Telerik 报告不显示结果

Posted

技术标签:

【中文标题】带有多个参数的存储过程的 Telerik 报告不显示结果【英文标题】:Telerik Report with Stored Procedure with multiple parameters not showing result 【发布时间】:2016-09-14 14:55:51 【问题描述】:

我正在为我的 mvc 项目使用 Telerik 报告。我设计了从存储过程中获取数据的成本核算报告。这个 SP 有 4-5 个参数。当我为报表配置数据源时,它会要求存储过程的所有参数的值,并在 Telerik 报表设计器中通过提供完美显示报表的参数值。

我已将此报告添加到我的项目中。在我的项目中,当用户选择成本计算作为要运行的报告时,会打开一个弹出表单,其中有多个组合框,用户可以从中选择分支、成本计算类型、客户、站点等值,这些值作为参数传递给报告。当我从程序运行报告时,它不显示结果。如果我通过从 SQL Server 执行它向 SP 提供相同的选定值并且它正确显示了结果。

【问题讨论】:

【参考方案1】:

我不知道这是否会有所帮助,但在我看来,您的报告似乎没有得到参数。在任何 xml 编辑器中打开您的报告(notepad++ 将完成这项工作)并检查以下部分:

<DataSources>
<SqlDataSource ConnectionString="hardcoded_or_from_your_webconfig" ProviderName="System.Data.SqlClient" SelectCommand="dbo.YourStoredProcedureName" SelectCommandType="StoredProcedure" Name="AnydescriptiveNameforyoursource">
  <Parameters>
    <SqlDataSourceParameter DbType="Int32" Name="@Param1">
      <Value>
        <String>= Parameters.IncludeInactive.Value</String>
      </Value>
    </SqlDataSourceParameter>
    <SqlDataSourceParameter DbType="Int32" Name="@Param2">
      <Value>
        <String>= Parameters.YOURPARAMETER.Value</String>
      </Value>
    </SqlDataSourceParameter>
  </Parameters>
</SqlDataSource>

保存您的报告并进行测试。

【讨论】:

以上是关于带有多个参数的存储过程的 Telerik 报告不显示结果的主要内容,如果未能解决你的问题,请参考以下文章

如何将多个值传递给存储过程中的单个参数

使用存储过程在 s-s-rS 中传递多个字符串值

带有输出变量的存储过程示例

带有存储过程的每日报告

如何使用多个输出参数执行存储过程?

oracle中怎么执行带有输出参数的存储过程,在程序中我知道怎么调用,