Fun Coding

学んだことを記録していきます!

【C#】データテーブルに主キーを設定する方法(PrimaryKey)

データテーブルに主キーを設定するには「PrimaryKey」プロパティを使います。
サンプルコードを交えて解説したいと思います。

説明

データテーブルの主キーを取得/設定します。
主キー:各行を一意に識別する列

ポイント

・DataColumnの配列を設定する
・主キーが重複した場合はSystem.Data.ConstraintExceptionが発生する

コード
using System;
using System.Data;

namespace Sample {
    /// <summary>
    /// メインプログラム
    /// </summary>
    public class Program {
        /// <summary>
        /// テーブルに主キーを設定
        /// </summary>
        static void Main() {
            // テーブルの生成
            var table = new DataTable();

            // テーブルに列を追加
            table.Columns.Add("名前", typeof(string));
            table.Columns.Add("年齢", typeof(int));


            // テーブルに主キーを設定
            table.PrimaryKey = new DataColumn[] { table.Columns[0] };

            // テーブルに行を追加
            try {
                table.Rows.Add("一郎", 10);
                table.Rows.Add("二郎", 20);
                table.Rows.Add("二郎", 30);
            }
            catch(Exception ex) {
                Console.WriteLine("主キーが重複した場合 : " + ex.GetType());
            }
        }
    }
}
出力
主キーが重複した場合 : System.Data.ConstraintException