5

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

表结构 Col A、Col B、Col C

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

4

2 回答 2

11

当您“设置”数据表的主键时,参数值是一个 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});
于 2008-11-24T17:12:25.803 回答
5

有一个重载可用于将两个不同的值传递给 find 方法。 这是 MSDN 文档

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

DataTable.Rows.Find(6,5)
于 2008-11-24T17:15:24.160 回答