2012-03-05 35 views
0

我有一個使用存儲過程使用可選參數的報告。我有4個可選參數,因此在報告的預覽選項卡中,我可以爲參數設置4個文本框。但是,當我不在文本框中寫入任何內容時,一個錯誤..我能做些什麼來執行我的proc與空參數是SSRS?如何在SSRS中使用帶有null參數的存儲過程?

回答

0

可以按如下聲明參數過程:

@Your_parameter VARCHAR(50) = NULL 

,並在那裏爲使用:

where (@Your_parameter IS NULL OR columnname = @Your_parameter) 
0

注意,「離開框爲空」,可能是通過一個空字符串到存儲過程,所以即使過程寫入正確(如Vikram發佈的代碼中),您也不會看到錯誤,但您可能看不到預期的結果。

如果您的程序編寫正確,請在SSRS設計器中訪問參數屬性並查看「默認值」的設置。確保默認設置爲'空',而不是空白字符串。如果參數是列表,則可以拆分值和標籤以允許您在用戶從列表中選擇「無」時傳遞空值。還要訪問數據集屬性並查看參數映射以確保報表參數正確映射到查詢參數。

這是非常一般的信息,因爲您沒有發佈您收到的錯誤消息。錯誤消息中提供的信息通常提供了可能導致問題的線索。如果您在查看Vikram提供的過程信息和上述SSRS參數信息後仍然很困難,發佈錯誤消息將幫助人們爲您提供更多相關的響應,讓您再次移動。 祝你好運!

+0

我的過程與Vikram是一樣的,我做了你說的但沒有工作。錯誤是:'請爲參數objectType輸入一個值。參數不能爲空' – 2012-03-05 15:44:49

+0

正如Lee Ticket筆記(以及我的回覆的第二段中所述),這似乎表明問題在於事實上報告參數尚未設置爲允許空值。請注意,我不是在談論過程參數,而是在報告參數。 – Rose 2012-03-11 20:48:56

0

這聽起來像你已經創建了參數,但實際上並沒有將它們傳遞給存儲過程。檢查它們是否通過查看數據標籤(見截圖):

enter image description here

這聽起來像你已經有了,但仔細檢查,允許空格沒有被選中,但允許空值下的參數選項被選中。

相關問題