2012-02-24 67 views
0

我正在爲SSRS報告編寫一個sql查詢,並希望爲用戶指定@startdate@endate字段的參數。但是,當我將查詢放入SSRS時,用戶輸入被忽略。我想知道這是否與我沒有分配參數但與之相比的事實?SQL參數化

這是我的聲明語句:

DECLARE @startdate NVARCHAR(10) 
DECLARE @enddate NVARCHAR(10) 

這是我的where子句:

WHERE assignees.id = customers.id 
AND 

((dateadd(second,open_date,'19700101') >= @startdate 
AND dateadd(second,open_date,'19700101') <= @enddate) 

OR 

(dateadd(second,close_date,'19700101') >= @startdate 
AND dateadd(second,close_date,'19700101') <= @enddate)) 

AND group_name = 'SPRQ' 

回答

1

而不是使用字符類型日期進行比較的,我會建議使用日期類型更可靠,可預測的結果。另外,請檢查數據集的參數屬性,以確保它顯示用於填充查詢參數的報告參數。有時候設計師需要「提醒」哪個報表參數用於查詢的參數。

+0

我該如何特別提醒軟件詢問參數? – jsmith 2012-02-27 15:10:16

+0

檢查數據集的「參數」選項卡/屬性。這列出了左側的查詢參數和右側的相關報告參數......並不需要提醒它詢問它,因爲它需要提醒在哪裏找到它:-)通常當參數名稱被改變時(即使將小寫字母更改爲大寫字母),報表設計器也不會將更改傳播到參數映射。 – Rose 2012-02-28 15:07:35

+0

快速仔細檢查...你是否在數據集頂部聲明瞭你的參數?如果是這樣,你也將要刪除該聲明...參數映射將允許您使用報表參數的聲明。 – Rose 2012-02-28 15:09:52