【问题标题】:Add Where clause at Runtime to SQL将运行时的 Where 子句添加到 SQL
【发布时间】:2014-03-13 17:05:09
【问题描述】:

我是 SSRS 新手,遇到了一些麻烦。

我有一个已部署的报告,我可以显示此报告 在使用 Microsoft.Reporting.WebForms.ReportViewer 的项目中。 很好,但现在我必须编写一些代码来更改 我的数据集中使用的查询: 我需要获取我的 sql,并对其进行修改(放入一些“Where...”,“exists”, 依此类推) - 然后将 sql 放回报告中,然后执行/显示 报告。

我对参数很熟悉,但是参数不能满足我的需求。

【问题讨论】:

    标签: c# reporting-services


    【解决方案1】:

    用于数据集的 SQL 语句的表达式就是一个表达式。它可以是您想要的任何东西,包括您构建的字符串。例如,您可以有一个指示如何构建 SQL 的参数:

    ="SELECT ThisField, ThatField "
    & "FROM MyTable "
    & IIF(Parameters!AddExistsClause.Value, "WHERE SomeId IN (SELECT Id FROM OtherTable) ", "")
    

    您甚至可以添加对构建 SQL 的自己的 DLL 的引用:

    ="SELECT " & MyDLL.ReportFunctions.GetFields(Parameters!FieldName.Value)
    & "FROM " & Parameters!Database.Value & ".dbo." & Parameters!Database.TableName "
    & MyDLL.ReportFunctions.TableJoins(Parameters!FieldName.Value)
    & MyDLL.ReportFunctions.WhereClause(Parameters!FieldName.Value)
    

    【讨论】:

    • 服务器上的共享数据集也可以这样吗
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 2016-10-07
    • 2019-04-05
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    相关资源
    最近更新 更多