C# 如何使用DataRow列表基于另一个datatable从datatable中选择值

C# 如何使用DataRow列表基于另一个datatable从datatable中选择值,c#,C#,我有两个数据表 我想根据第一个DataTable dtPross中的数据过滤第二个DataTable dtPross中的结果 我使用以下代码: DataTable dtSeats = new DataTable(); dtSeats = "select SitNum,Num from dbo.Table1" SitNumList = (from row in dtSeats.AsEnumerable() select Convert.ToInt32(row["SitN

我有两个数据表

我想根据第一个DataTable dtPross中的数据过滤第二个DataTable dtPross中的结果

我使用以下代码:

DataTable dtSeats = new DataTable();
dtSeats = "select SitNum,Num from dbo.Table1"
SitNumList = (from row in dtSeats.AsEnumerable() 
             select Convert.ToInt32(row["SitNum"])).ToList();
当我使用此代码根据Datarow列表筛选数据时

DataTable dtPross = "select SitNum from dbo.Table2 where SitNum in (" + SitNumList.ToList() + ")";
我犯了这个错误

SitNum in (System.Collections.Generic.List`1[System.Int32])
我错过什么了吗


提前感谢。

是的,您没有将列表转换为逗号分隔的元素字符串

试试下面的代码

//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  + ")";

为什么SitNumList.Selectx=>x.ToString?你不能直接传递SitNumList,因为它已经是IEnumerable了吗?@JohnyL,我更新了我的答案,我想我需要先将整数转换成字符串,然后再传递给字符串。Join,谢谢你的更正,一点也不。