2014-03-13 32 views
-1

我是SSRS的新手,並且遇到了一些麻煩。在運行時將Where子句添加到SQL中

我有一個部署的報告,我可以在使用Microsoft.Reporting.WebForms.ReportViewer的項目中顯示此報告 。 這很好,但現在我必須彌補一些代碼來更改我的數據集中使用的查詢: 我需要獲取我的sql,並對其進行修改(放置一些「Where ...」,「存在」, 等等) - 然後將sql放回到報告中,然後執行/顯示 報告。

我對參數很熟悉,但參數無法滿足我的需求。

回答

0

用於數據集的SQL語句的表達式就是 - 表達式。它可以是任何你想要的,包括你建立的一個字符串。例如,你可以有一個指示如何構建SQL參數:

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

您可以參考,甚至添加到您自己的DLL構建SQL:

="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) 
+0

可以在相同情況下,用於服務器上的共享數據集 – devgen