我有2个数据表
我想根据数据表dtSeats(第一个)中的数据过滤数据表dtPross(第二个)中的结果
我使用以下代码:
DataTable dtSeats = new DataTable();
dtSeats = "select SitNum,Num from dbo.Table1"
SitNumList = (from row in dtSeats.AsEnumerable()
select Convert.ToInt32(row["SitNum"])).ToList();
当我使用此代码基于数据行列表过滤数据时
DataTable dtPross = "select SitNum from dbo.Table2 where SitNum in (" + SitNumList.ToList() + ")";
我收到此错误
SitNum in (System.Collections.Generic.List`1[System.Int32])
我想念什么吗?
谢谢。
答案 0 :(得分:1)
是的,您没有将List<int>
转换为逗号分隔的元素字符串。
尝试下面的代码
//Below code will convert List<int> SitNumList = new List<int>(){1, 2, 3, 4} to string "1, 2, 3, 4"
string siteNums = string.Join(", ", SitNumList);
DataTable dtPross = "select SitNum from dbo.Table2 where SitNum in (" + siteNums + ")";