私はWindowsフォームアプリケーションに取り組んでいます。データテーブルに複合キーがある場合、データテーブルの find メソッドを使用して行を検索するにはどうすればよいですか?
表の構造 列 A、列 B、列 C
列 A と列 B が複合キーを構成します。列 A の値が 6 で列 B の値が 5 の行を見つけたい
データテーブルの主キーを「設定」すると、パラメータ値は 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});
find メソッドに 2 つの異なる値を渡すために使用できるオーバーロードがあります。 MSDN のドキュメントは次のとおりです。
したがって、おそらく次のようなことをしているでしょう。
DataTable.Rows.Find(6,5)