Visual Studio Reporting do report based off of set of values

Right now, I have a working report that passes parameters to an SQL query that fills a dataset, and displays the data using the DataSet.  What I would like to be able to do is change the code so that I can fill the dataset based off a SET of values for one particular field.  The code that I have now works great, I just neeed to know how to change it so that I can send a SET of values as a parameter.  Here is the code I have now

        EstimatingReportViewer.ProcessingMode = ProcessingMode.Local;
            string conString = "Data Source=server;Initial Catalog=table;Persist Security Info=True;User ID=userid;Password=password";
            SqlConnection conReport = new SqlConnection(conString);
            SqlCommand cmdReport = new SqlCommand();
            SqlDataReader drReport;
            DataSet DataSetReporting = new dsReporting();
           cmdReport.CommandType = CommandType.Text;
           cmdReport.Connection = conReport;
           cmdReport.CommandText = "SELECT * FROM dbo.table1 WHERE Period >= @StartingDate and Period <= @EndingDate AND column1 = @Project AND column2 = @Version ORDER BY Period,column2";
cmdReport.Parameters.Add(new SqlParameter("@StartingDate", SqlDbType.Int));
                cmdReport.Parameters.Add(new SqlParameter("@EndingDate", SqlDbType.Int));
                cmdReport.Parameters.Add(new SqlParameter("@Project", SqlDbType.NVarChar, 50));
                cmdReport.Parameters.Add(new SqlParameter("@Version", SqlDbType.NVarChar, 50));
                cmdReport.Parameters["@StartingDate"].Value = begindate;
                cmdReport.Parameters["@EndingDate"].Value = endingdate;
                cmdReport.Parameters["@Project"].Value = projectname;
                cmdReport.Parameters["@Version"].Value = versionname;
                drReport = cmdReport.ExecuteReader();
                DataTable table = DataSetReporting.Tables[0];
                EstimatingReportViewer.LocalReport.ReportPath = Server.MapPath("Report1.rdlc");
                EstimatingReportViewer.LocalReport.DataSources.Add(new ReportDataSource(EstimatingReportViewer.LocalReport.GetDataSourceNames()[0], table));
                EstimatingReportViewer.Visible = true;
LVL 15
melli111SharePoint Administrator / DeveloperAsked:
Who is Participating?
mlmccConnect With a Mentor Commented:
You have to change this line.

cmdReport.CommandText = "SELECT * FROM dbo.table1 WHERE Period >= @StartingDate and Period <= @EndingDate AND column1 = @Project AND column2 = @Version ORDER BY Period,column2";

However, most SQLs do not accept sets of values as a parameter.

Which field are you filtering on and what are the Values?

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.