直接执行拼接SQL有数据,写带参数的就没有数据了,请帮看下代码。该如何解决

直接执行拼接SQL有数据,写带参数的就没有数据了,请帮看下代码。

           String strSql = "select 图号,车型,产品名称,LED屏编号,计划产量,下工作日计划产量,实际生产,计划产量-实际生产 as 未完成产量 " +
                            "from dbo.产品 " +
                            "where CONVERT(varchar(8),日期,112)=CONVERT(varchar(8),GETDATE(),112) " +
                            "And left(图号,2) in(@车间) " + 
                            "Order by 图号";
            //SqlConnection conn = new SqlConnection("server=zhw-pc\\sqlexpress; integrated security=true;database=产品生产");

            SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = new SqlCommand(strSql, conn);
            DataSet myds = new DataSet();
            sda.SelectCommand.Parameters.Add("@车间",SqlDbType.VarChar,10).Value = str1;
            sda.Fill(myds,"t1");
            if (myds.Tables["t1"].Rows.Count != 0)   //当天数据
            {
                DataList1.DataSource = myds.Tables["t1"];
                DataList1.DataBind();
            }

请问In(@车间)能不能这么写呢?(我直接拼接SQL语句是有数据的,写带有参数的就没有数据了。)
------解决方案--------------------
不能这样写,必须一个个参数单独写

in(@车间1,@车间2)

sda.SelectCommand.Parameters.Add("@车间1",SqlDbType.VarChar,10).Value = "xxx"
sda.SelectCommand.Parameters.Add("@车间2",SqlDbType.VarChar,10).Value = "xxx"
------解决方案--------------------
用这个试试
"exec 'select 图号,车型,产品名称,LED屏编号,计划产量,下工作日计划产量,实际生产,计划产量-实际生产 as 未完成产量 from dbo.产品 where CONVERT(varchar(8),日期,112)=CONVERT(varchar(8),GETDATE(),112)  And left(图号,2) in('+ @车间 +') Order by 图号'"