如何使用复合键的数据表的find方法?

时间:2008-11-24 17:00:58

标签: vb.net datatable

我正在开发一个Windows窗体应用程序。如果数据表有复合键,我如何使用数据表的find方法来查找行?

表格结构 Col A,Col B,Col C

Col A和Col B组成复合键。 我想找到Col A中的值为6而Col B为5的行

2 个答案:

答案 0 :(得分:10)

当你“设置”数据表的主键时,参数值是一个DataColumns数组......

如果您的数据表位于变量dt ...,

dt.PrimaryKey = new DataColumn[] {dt.Columns["ColA"], dt.Columns["ColB"]};

然后将一个对象值数组传递给Find()方法

object[] keyVals = new object[] {6, 5};
DataRow dr = dt.Rows.Find(keyVals);

或者,只是

DataRow dr = dt.Rows.Find(new object[] {6, 5});

答案 1 :(得分:5)

您可以使用重载将两个不同的值传递给find方法。 Here is the MSDN doc

所以你很可能会做类似的事情。

DataTable.Rows.Find(6,5)