PrimaryKey を設定する方法

  DataTable の主キーとして機能する列を設定するには、「PrimaryKey」プロパティに DataColumnオブジェクト配列を設定します。
 PrimaryKey を設定することで、主キー値で、DataTable 内の特定の行を検索することが可能になります。
【サンプル C#】

列名を指定して、PrimaryKey を設定するメソッドのサンプル
///
///  DataRow検索用キーを設定します。
///
///  param name="dt":参照するDataTable
///  param name="keyName":キーとして登録する列名の文字列配列
///  returns:キーとして登録した数を返す
public static int SetPrimaryKey( DataTable dt, string[] keyName )
{
    DataColumn[] keys = new DataColumn[keyName.Length];
    int        keyNum;
    int        n = 0;

    // 要求された文字列数分繰り返す
    foreach ( string keyStr in keyName )
    {
        if ( keyStr != "" )
        {
            // 列名から列番号を取得する
            keyNum = dt.Columns.IndexOf(keyStr);

            // 列番号が取得できたらキーとして登録データを生成する
            if ( keyNum >= 0 )
            {
                keys[n] = dt.Columns[keyNum];
                n += 1;
            }
            else
            {
                throw new ArgumentException("指定されたキー列[ " + keyStr + "] が DataTable に設定されていません。");
            }
        }
    }

    // 生成したデータをキーとして登録する
    dt.PrimaryKey = keys;

    return n;
}
戻る