Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#MYSQL是否在另一个DataTable中查找DataTable.PrimaryKey?_C#_Mysql_Datatable_Sync_Datarow - Fatal编程技术网

C#MYSQL是否在另一个DataTable中查找DataTable.PrimaryKey?

C#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

我有两个带有数据的数据表(dtm和dtl)。 我必须找出Datatable2中是否存在DataTable1中的DataRow。 我有一个3列的组合primray键。 我知道我可以像这样获得DataTable primarykey

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以查找行。

检查此线程。这会解决你的问题。