C#MYSQL在另一个DataTable中找到DataTable.Primary Key?

时间:2014-05-06 09:45:57

标签: c# mysql datatable sync datarow

我有2个DataTables with Data(dtm和dtl)。 我必须知道在Datatable2中是否存在来自DataTable1的DataRow。 我有一个3列的组合初始键。 我知道我可以像这样获得DataTable主键。

DataColumn[] pkcol;
pkcol = dtm.PrimaryKey;

是否可以像这样使用Find方法?

if (dtl.Rows.Find(dtm[pkcol]) == null)
   {

   }

我必须实现DataTable Sync方法。 所以我在dtl.Rows的dtm.Rows和Foreach Datarow中找到了Datarow。 如果我可以继续在表上搜索是否存在表中的datarows主键值,那将是很好的。 有任何想法吗? 请帮忙。 感谢

1 个答案:

答案 0 :(得分:0)

根据MSDN DataRowCollection.Find已经在寻找PK中具有给定值的行。因此,您甚至不需要获取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以查找行。