SQL报告:空参数

我发现在SQL Reporting中可能存在问题。 我的页面上有一个ReportViewer,我使用以下方法发送参数:

List myParams = new List(); myParams.Add(new ReportParameter("Start_Date", StartDate)); myParams.Add(new ReportParameter("End_Date", EndDate)); ReportViewer1.ServerReport.SetParameters(myParams); 

这很棒! 但是,当我尝试将参数设置为null时,在运行该查询之后,它会保留先前的值而不是将其设置为null。

我在上面代码之后执行的另一个事件上运行此代码:

 List myParams = new List(); myParams.Add(new ReportParameter("Start_Date")); // I even tried omiting this line. //(This is the null parameter I wish to pass) myParams.Add(new ReportParameter("End_Date", EndDate)); ReportViewer1.ServerReport.SetParameters(myParams); 

有没有人遇到过工作或者采用不同的技术来实现这项工作?

另外,如果我最初没有定义参数,那么分配参数,然后不定义参数,它保持分配的值。 (这些都是回发,每个事件)

做这样的事情..我已经在我自己的小测试项目中测试了它似乎工作。

 List myParams = new List(); ReportParameter p = new ReportParameter("Start_Date"); p.Values.Add(null); myParams.Add(p); //myParams.Add(new ReportParameter("Start_Date")); // I even tried omiting this line. //(This is the null parameter I wish to pass) myParams.Add(new ReportParameter("End_Date", EndDate)); ReportViewer1.ServerReport.SetParameters(myParams); 

你试过打电话:

 ReportViewer1.Reset(); 

在两个电话之间?

那些类型为DateTime的StartDate和EndDate变量? 也许这与DateTime变量不能设置为null的事实有关,它们是DateTime.MinValue。 尝试将参数设置为DateTime.MinValue并相应地处理。