VB.NET DataTableの行を追加/変更/削除する

VB.NETのDataTableの行を追加/変更/削除するサンプルです。

目次

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

DataTableクラス

DataTableに行を追加する

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

Module Module1
	Sub Main()
		'テーブル作成
		Dim syain As New DataTable("社員テーブル")
		syain.Columns.Add("id") '項目を追加
		syain.Columns.Add("name")
		syain.Columns.Add("romaji")

		'1行目を作成
		Dim row As DataRow
		row = syain.NewRow
		row("id") = "1" '値を追加
		row("name") = "鈴木"
		row("romaji") = "suzuki"
		syain.Rows.Add(row) '1行目をテーブルに追加

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

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

		syain.AcceptChanges()

		'ループでデータを取得
		For Each data1 As DataRow In syain.Rows
			Console.WriteLine(
				data1("id").ToString +
				data1("name").ToString +
				data1("romaji").ToString)
		Next
	End Sub
End Module

4~7行目は、テーブルと列名を作成しています。
11行目は、NewRowメソッドで行を作成しています。
12~14行目は、列名に対して値をセットしています。
15行目は、Addメソッドでテーブルに行を追加しています。
31行目のAcceptChangesでデータをコミット(確定)させます。
34行目からは、For Each文でループさせて値を表示しています。以下が表示されます。
1鈴木suzuki
2田中tanaka
3佐藤sato

DataTableの行の値を変更する

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

		'3行目を変更
		syain.Rows(2).Item("name") = "竹田"
		syain.Rows(2).Item("romaji") = "takeda"
		syain.AcceptChanges()

		Console.WriteLine(syain.Rows(0).Item("name")) '鈴木
		Console.WriteLine(syain.Rows(1).Item("name")) '田中
		Console.WriteLine(syain.Rows(2).Item("name")) '竹田

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

DataTableの行を削除する

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

		'2行目を削除
		syain.Rows(1).Delete()
		syain.AcceptChanges()

		Console.WriteLine(syain.Rows(0).Item("name")) '鈴木
		Console.WriteLine(syain.Rows(1).Item("name")) '佐藤

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

DataTableの値を確認する場所

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

関連の記事

VB.NET Listの使い方のサンプル
VB.NET Dictionaryのサンプル
VB.NET HashSetのサンプル

△上に戻る