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

Kal*_*lel 4 vb.net datatable

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

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

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

Cha*_*ana 10

当您"设置"数据表的主键时,参数值是DataColumns的数组...

如果你的数据表是变量dt ...,

dt.PrimaryKey = new DataColumn[] {dt.Columns["ColA"], dt.Columns["ColB"]};
Run Code Online (Sandbox Code Playgroud)

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

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

要不就

DataRow dr = dt.Rows.Find(new object[] {6, 5});
Run Code Online (Sandbox Code Playgroud)


Mit*_*ers 5

您可以使用重载将两个不同的值传递给find方法. 这是MSDN文档.

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

DataTable.Rows.Find(6,5)
Run Code Online (Sandbox Code Playgroud)