小编典典

SQL报告:空参数

sql

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

List<ReportParameter> myParams = new List<ReportParameter>();

myParams.Add(new ReportParameter("Start_Date", StartDate));
myParams.Add(new ReportParameter("End_Date", EndDate));

ReportViewer1.ServerReport.SetParameters(myParams);

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

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

List<ReportParameter> myParams = new List<ReportParameter>();

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);

有没有人遇到过变通方法或其他方法来使它正常工作?

同样,如果我最初不定义参数,然后分配参数,然后不定义参数,则它会保留分配的值。(这些都是回发,每个事件)


阅读 211

收藏
2021-05-23

共1个答案

小编典典

做这样的事情..我已经在我自己的小测试项目中对其进行了测试,它似乎可以正常工作。

List<ReportParameter> myParams = new List<ReportParameter>();

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);
2021-05-23