C#MYSQL是否在另一个DataTable中查找DataTable.PrimaryKey?
我有两个带有数据的数据表(dtm和dtl)。 我必须找出Datatable2中是否存在DataTable1中的DataRow。 我有一个3列的组合primray键。 我知道我可以像这样获得DataTable primarykeyC#MYSQL是否在另一个DataTable中查找DataTable.PrimaryKey?,c#,mysql,datatable,sync,datarow,C#,Mysql,Datatable,Sync,Datarow,我有两个带有数据的数据表(dtm和dtl)。 我必须找出Datatable2中是否存在DataTable1中的DataRow。 我有一个3列的组合primray键。 我知道我可以像这样获得DataTable primarykey DataColumn[] pkcol; pkcol = dtm.PrimaryKey; 可以这样使用Find方法吗 if (dtl.Rows.Find(dtm[pkcol]) == null) { } 我必须实现一个数据表同步方法。 所以我选择了dtm
DataColumn[] pkcol;
pkcol = dtm.PrimaryKey;
可以这样使用Find方法吗
if (dtl.Rows.Find(dtm[pkcol]) == null)
{
}
我必须实现一个数据表同步方法。
所以我选择了dtm.Rows中的foreach数据行和dtl.Rows中的foreach数据行。
如果我能继续浏览表并搜索表中是否存在datarows主键值,那就太好了。
有什么想法吗?
请帮忙。
根据DataRowCollection感谢。Find
已在PKs中查找具有给定值的行。因此,您甚至不需要获取PK,只需获取一个值数组,该数组在数量和类型上与PK匹配:
// Create an array for the key values to find.
object[]findTheseVals = new object[3];
// Set the values of the keys to find.
findTheseVals[0] = "John";
findTheseVals[1] = "Smith";
findTheseVals[2] = "5 Main St.";
DataRow foundRow = table.Rows.Find(findTheseVals);
您可以将值设置为null以查找行。检查此线程。这会解决你的问题。