【サンプル 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;
}
|