5

私はWindowsフォームアプリケーションに取り組んでいます。データテーブルに複合キーがある場合、データテーブルの find メソッドを使用して行を検索するにはどうすればよいですか?

表の構造 列 A、列 B、列 C

列 A と列 B が複合キーを構成します。列 A の値が 6 で列 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 メソッドに 2 つの異なる値を渡すために使用できるオーバーロードがあります。 MSDN のドキュメントは次のとおりです。

したがって、おそらく次のようなことをしているでしょう。

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