2012-05-11 26 views
0

從我的win表單應用程序中我無法傳遞int和date時間作爲參數,當我嘗試通過時,程序給出錯誤。 所以在這裏我把所有的參數都轉換成字符串並傳遞,但是報告接受的是int,日期時間,日期時間,因爲那裏的參數來自於相應的存儲過程,所以它會生成錯誤報告。winrs在ssrs報告中的參數設置問題

    string ID = "1 "; 
       string DateStart= DateTime.Today.AddDays(-1).ToString(); 
       string DateEnd= DateTime.Today.ToString(); 
rptParameters[0] = new Microsoft.Reporting.WinForms.ReportParameter("@ID", ID); 
rptParameters[1] = new ReportParameter("@DateStart", DateStart)  
rptParameters[2] = new ReportParameter("@DateEnd", DateEnd); 

是否有任何解決方案可以將字符串參數從winform傳遞到SSRS報告。

+0

爲什麼您的ID字符串在末尾有空格?爲什麼你沒有告訴我們你得到的錯誤是什麼?爲什麼你使用第一個參數的ReportParameter完全限​​定名? –

+0

錯誤是「Microsoft.Reporting.WinForms.ReportParameter.ReportParameter(string,string)'的最佳重載方法匹配'有一些無效參數」,以及完全限定名稱的含義。這裏我的sql參數是@ BUID我剛編輯參數並給。 – RnR

+0

這裏這個錯誤來了,當我嘗試傳遞一些int值而不是字符串值 – RnR

回答

1

正如你可以看到by the documentation(和錯誤消息),參數值應該是一個字符串。
使用ID.ToString(),DateStart.ToString()DateEnd.ToString()作爲您的參數。

rptParameters[0] = new ReportParameter("@ID", ID.ToString()); 
rptParameters[1] = new ReportParameter("@DateStart", DateStart.ToString());  
rptParameters[2] = new ReportParameter("@DateEnd", DateEnd.ToString());