C# DataTableの行を追加/変更/削除する

C#のDataTableの行を追加/変更/削除するサンプルです。

目次

サンプル DataTableクラス
  DataTableに行を追加する
  DataTableの行の値を変更する
  DataTableの行を削除する
  DataTableの値を確認する場所

DataTableクラス

DataTableに行を追加する

DataTableに行を追加するサンプルです。

using System;
using System.Data;

class Test1
{
	static void Main()
	{
		// テーブル作成
		DataTable employee = new DataTable("社員テーブル");
		employee.Columns.Add("id",typeof(int));
		employee.Columns.Add("name", typeof(String));
		employee.Columns.Add("romaji", typeof(String));

		// 1行目を作成
		DataRow row;
		row = employee.NewRow();
		row["id"] = 1;
		row["name"] = "鈴木";
		row["romaji"] = "suzuki";
		employee.Rows.Add(row); // 1行目をテーブルに追加

		// 2行目を作成
		row = employee.NewRow();
		row["id"] = 2;
		row["name"] = "田中";
		row["romaji"] = "tanaka";
		employee.Rows.Add(row); // 2行目をテーブルに追加

		// 3行目を作成
		row = employee.NewRow();
		row["id"] = 3;
		row["name"] = "佐藤";
		row["romaji"] = "sato";
		employee.Rows.Add(row); // 3行目をテーブルに追加

		employee.AcceptChanges();

		// ループでデータを取得
		foreach (DataRow data1 in employee.Rows)
		{
			Console.WriteLine(data1["id"]); //1 2 3
			Console.WriteLine(data1["name"]); //鈴木 田中 佐藤
			Console.WriteLine(data1["romaji"]); //suzuki tanaka sato
		}
	}
}

9~12行目は、テーブルと列名を作成しています。
16行目は、NewRowメソッドで行を作成しています。
17~19行目は、列名に対して値をセットしています。
20行目は、Addメソッドでテーブルに行を追加しています。
36行目のAcceptChangesでデータをコミット(確定)させます。
39行目からは、foreach文でループさせて値を表示しています。

DataTableの行の値を変更する

DataTableの行の値を変更するサンプルです。上記のコードの続きです。

		// 3行目を変更
		employee.Rows[2]["name"] = "竹田";
		employee.Rows[2]["romaji"] = "takeda";
		employee.AcceptChanges();

		Console.WriteLine(employee.Rows[0]["name"]); //鈴木
		Console.WriteLine(employee.Rows[1]["name"]); //田中
		Console.WriteLine(employee.Rows[2]["name"]); //竹田

2,3行目は、テーブルの値を変更しています。Rows[2]は、3行目を表します。
1行目は[0]です。
4行目のAcceptChangesでデータをコミット(確定)させます。

DataTableの行を削除する

DataTableの行を削除するサンプルです。上記のコードの続きです。

		// 2行目を削除
		employee.Rows[1].Delete();
		employee.AcceptChanges();

		Console.WriteLine(employee.Rows[0]["name"]); //鈴木
		Console.WriteLine(employee.Rows[1]["name"]); //佐藤

2行目は、employee.Rowsの1(2行目)を削除しています。
3行目のAcceptChangesでデータをコミット(確定)させます。
削除後のインデックス値は前につまります。

DataTableの値を確認する場所

DataTableの値は、Rowsの下の結果ビューのItemArray配下にあります。

関連の記事

C# Listの使い方のサンプル
C# Dictionaryの使い方のサンプル
C# HashSetの使い方のサンプル

△上に戻る