这段代码,我是根据第一个产品模板表里面将产品名称proName,和规格spec,都查询出来后,再在ERP的出入库表里面,根据产品名称和规格,将对应的出入库数量再查询出来,但在运行是总提示如下错误,请问是什么原因,指导一下,谢谢

```c#
private void btnquery_Click(object sender, EventArgs e)
{
string connstring1 = "server=192.168.100.247;database=WHMesInfo;user=sa;password=whyy";
string connstring2 = "server=192.168.2.5;database=AIS20150211135927;user=sa;password=zzzx";
using (SqlConnection Conn1 = new SqlConnection(connstring1))
{
Conn1.Open();
DataTable dtM = new DataTable();
string sqlstringM = @"select proName,spec,target from w_target ";
SqlCommand cmdM = new SqlCommand(sqlstringM, Conn1);
SqlDataAdapter sdaM = new SqlDataAdapter(cmdM);
sdaM.Fill(dtM);
// 将所有产品名称和规格提取出来,构造一个 SQL 查询。
List<string> proNames = new List<string>();
List<string> specs = new List<string>();
foreach (DataRow row in dtM.Rows)
{
string proName = row["proName"].ToString();
string spec = row["spec"].ToString();
proNames.Add(proName);
specs.Add(spec);
}
// 使用 String.Join 来拼接字符串,构造 IN 子句
string proNameList = string.Join(",", proNames.Select(p => $"'{p}'"));
string specList = string.Join(",", specs.Select(s => $"'{s}'"));
using (SqlConnection Conn2 = new SqlConnection(connstring2))
{
Conn2.Open();
DateTime StartTime = Convert.ToDateTime(Startdate.Text);
DateTime EndTime = Convert.ToDateTime(Enddate.Text);
string sqlstringK = @" SELECT
proName,Fmodel,SUM(DayInAmount) AS DayInAmount,SUM(MonthInAmount) AS MonthInAmount, SUM(YearInAmount) AS YearInAmount,
SUM(DayOutAmount) AS DayOutAmount,sum(MonthOutAmount) AS MonthOutAmount,sum(YearOutAmount) AS YearOutAmount
FROM (
SELECT DISTINCT t3.FName AS proName, t3.Fmodel AS Fmodel, SUM(t1.FQty) AS DayInAmount, 0 AS MonthInAmount, 0 AS YearInAmount,
0 AS DayOutAmount,0 AS MonthOutAmount,0 AS YearOutAmount
FROM
ICStockBill t2
JOIN ICStockBillEntry t1 ON t1.FInterID = t2.FInterID
JOIN t_icitem t3 ON t3.FItemID = t1.FItemID
JOIN ICTransactionType t5 ON t2.FTranType = t5.FID
JOIN t_StockPlace t4 ON t4.FSPID = t1.FDCSPID
WHERE
t2.FTranType = '2' AND (t4.FSPID = '2' OR t4.FSPID = '1') AND t2.FDate = @EndTime and t3.FName IN ({proNameList}) and t3.Fmodel IN ({specList})
GROUP BY t3.FName, t3.FModel
UNION
SELECT DISTINCT t3.FName AS proName,t3.Fmodel AS Fmodel,0 AS DayInAmount,SUM(t1.FQty) AS MonthInAmount,0 AS YearInAmount,
0 AS DayOutAmount,0 AS MonthOutAmount,0 AS YearOutAmount
FROM
ICStockBill t2
JOIN ICStockBillEntry t1 ON t1.FInterID = t2.FInterID
JOIN t_icitem t3 ON t3.FItemID = t1.FItemID
JOIN ICTransactionType t5 ON t2.FTranType = t5.FID
JOIN t_StockPlace t4 ON t4.FSPID = t1.FDCSPID
WHERE
t2.FTranType = '2'AND (t4.FSPID = '2' OR t4.FSPID = '1') AND t2.FDate BETWEEN @StartTime AND @EndTime and t3.FName IN ({proNameList}) and t3.Fmodel IN ({specList})
GROUP BY t3.FName, t3.FModel
UNION
SELECT DISTINCT t3.FName AS proName,t3.Fmodel AS Fmodel, 0 AS DayInAmount,0 AS MonthInAmount, SUM(t1.FQty) AS YearInAmount,
0 AS DayOutAmount,0 AS MonthOutAmount,0 AS YearOutAmount
FROM
ICStockBill t2
JOIN ICStockBillEntry t1 ON t1.FInterID = t2.FInterID
JOIN t_icitem t3 ON t3.FItemID = t1.FItemID
JOIN ICTransactionType t5 ON t2.FTranType = t5.FID
JOIN t_StockPlace t4 ON t4.FSPID = t1.FDCSPID
WHERE
t2.FTranType = '2' AND (t4.FSPID = '2' OR t4.FSPID = '1') AND t2.FDate BETWEEN '2024-1-1' AND @EndTime and t3.FName IN ({proNameList}) and t3.Fmodel IN ({specList})
GROUP BY t3.FName, t3.FModel
UNION
SELECT DISTINCT t3.FName AS proName, t3.Fmodel AS Fmodel, 0 AS DayInAmount, 0 AS MonthInAmount, 0 AS YearInAmount,
SUM(t1.FQty) AS DayOutAmount,0 AS MonthOutAmount,0 AS YearOutAmount
FROM
ICStockBill t2
JOIN ICStockBillEntry t1 ON t1.FInterID = t2.FInterID
JOIN t_icitem t3 ON t3.FItemID = t1.FItemID
JOIN ICTransactionType t5 ON t2.FTranType = t5.FID
JOIN t_StockPlace t4 ON t4.FSPID = t1.FDCSPID
WHERE
t2.FTranType = '21' AND t4.FSPID != '3' AND t2.FStatus = '1' AND t1.FEntrySelfB0178 >= 0 AND t2.FDate = @EndTime and t3.FName IN ({proNameList}) and t3.Fmodel IN ({specList})
GROUP BY t3.FName, t3.FModel
union
SELECT DISTINCT t3.FName AS proName, t3.Fmodel AS Fmodel, 0 AS DayInAmount, 0 AS MonthInAmount, 0 AS YearInAmount,
0 AS DayOutAmount,SUM(t1.FQty) AS MonthOutAmount,0 AS YearOutAmount
FROM
ICStockBill t2
JOIN ICStockBillEntry t1 ON t1.FInterID = t2.FInterID
JOIN t_icitem t3 ON t3.FItemID = t1.FItemID
JOIN ICTransactionType t5 ON t2.FTranType = t5.FID
JOIN t_StockPlace t4 ON t4.FSPID = t1.FDCSPID
WHERE
t2.FTranType = '21' AND t4.FSPID != '3' AND t2.FStatus = '1' AND t1.FEntrySelfB0178 >= 0 AND t2.FDate BETWEEN @StartTime and @EndTime
and t3.FName IN ({proNameList}) and t3.Fmodel IN ({specList})
GROUP BY t3.FName, t3.FModel
union
SELECT DISTINCT t3.FName AS proName, t3.Fmodel AS Fmodel, 0 AS DayInAmount, 0 AS MonthInAmount, 0 AS YearInAmount,
0 AS DayOutAmount,0 AS MonthOutAmount,SUM(t1.FQty) AS YearOutAmount
FROM
ICStockBill t2
JOIN ICStockBillEntry t1 ON t1.FInterID = t2.FInterID
JOIN t_icitem t3 ON t3.FItemID = t1.FItemID
JOIN ICTransactionType t5 ON t2.FTranType = t5.FID
JOIN t_StockPlace t4 ON t4.FSPID = t1.FDCSPID
WHERE
t2.FTranType = '21' AND t4.FSPID != '3' AND t2.FStatus = '1' AND t1.FEntrySelfB0178 >= 0 AND t2.FDate BETWEEN '2024-1-1' and @EndTime
and t3.FName IN ({proNameList}) and t3.Fmodel IN ({specList})
GROUP BY t3.FName, t3.FModel
) AS subquery
GROUP BY proName, Fmodel";
SqlCommand cmdK = new SqlCommand(sqlstringK, Conn2);
cmdK.Parameters.AddWithValue("@StartTime", StartTime);
cmdK.Parameters.AddWithValue("@EndTime", EndTime);
SqlDataAdapter sdaK = new SqlDataAdapter(cmdK);
DataTable dtK = new DataTable();
sdaK.Fill(dtK);
//DataTable Comdt = MergeTable(dtM, dtK);
//dataGridView1.DataSource = Comdt;
dataGridView1.DataSource = dtK;
}
}
}
```