[VB.NET]DataTableの行の値を変更する
書式
1.DataTableコンストラクター
DataTable(String)
指定したテーブル名を使用して DataTable クラスの新しいインスタンスを初期化します。
2.DataRow クラス
DataTable 内のデータ行を表します。
メソッド AcceptChanges()
この行に対して行われたすべての変更をコミットします。
3.DataTable.NewRow メソッド
テーブルと同じスキーマで新しい DataRow を作成します。
4.DataTableの行の値を変更します
DataTable名.Rows(位置).Item(カラム名) = 値
使用例
Module Module1 Public Sub Main() 'テーブルを作成 Dim cft As New DataTable("UserTable") 'テーブルの項目の定義 cft.Columns.Add("userid") cft.Columns.Add("username") cft.Columns.Add("city") 'DataRow変数の宣言 Dim row As DataRow 'NewRowメソッドで行を作成 row = cft.NewRow '1行目の値を追加 row("userid") = "1001" row("username") = "山田 太郎" row("city") = "東京" '1行目をテーブルに追加します cft.Rows.Add(row) '2行目の値を追加 row = cft.NewRow row("userid") = "2002" row("username") = "山田 次郎" row("city") = "大阪" '2行目をテーブルに追加します cft.Rows.Add(row) 'データをコミットします cft.AcceptChanges() 'for eachループでデータを取得します For Each dr As DataRow In cft.Rows Console.WriteLine("番号:" & dr("userid").ToString & " " & "名前:" & dr("username").ToString & " " & "都市:" & dr("city").ToString) Next '2行のデータを変更 cft.Rows(1).Item("username") = "山崎 太郎" cft.Rows(1).Item("city") = "福岡" cft.AcceptChanges() Console.WriteLine(" ") Console.WriteLine("DataTableの行を変更する結果") For Each dr As DataRow In cft.Rows Console.WriteLine("番号:" & dr("userid").ToString & " " & "名前:" & dr("username").ToString & " " & "都市:" & dr("city").ToString) Next Console.ReadKey() End Sub End Module
実行結果
番号:1001 名前:山田 太郎 都市:東京 番号:2002 名前:山田 次郎 都市:大阪 DataTableの行を変更する結果 番号:1001 名前:山田 太郎 都市:東京 番号:2002 名前:山崎 太郎 都市:福岡