[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 名前:山崎 太郎 都市:福岡