[VB.NET]DataTableの行の値を変更する

2021年11月26日

書式
1.DataTableコンストラクター
DataTable(String)
指定したテーブル名を使用して DataTable クラスの新しいインスタンスを初期化します。

2.DataRow クラス
DataTable 内のデータ行を表します。
メソッド AcceptChanges()
この行に対して行われたすべての変更をコミットします。

3.DataTable.NewRow メソッド
テーブルと同じスキーマで新しい DataRow を作成します。

4.DataTableの行の値を変更します
DataTable名.Rows(位置).Item(カラム名) = 値

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
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
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

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
番号:1001 名前:山田 太郎 都市:東京
番号:2002 名前:山田 次郎 都市:大阪
DataTableの行を変更する結果
番号:1001 名前:山田 太郎 都市:東京
番号:2002 名前:山崎 太郎 都市:福岡
番号:1001 名前:山田 太郎 都市:東京 番号:2002 名前:山田 次郎 都市:大阪 DataTableの行を変更する結果 番号:1001 名前:山田 太郎 都市:東京 番号:2002 名前:山崎 太郎 都市:福岡
番号:1001 名前:山田 太郎 都市:東京
番号:2002 名前:山田 次郎 都市:大阪

DataTableの行を変更する結果
番号:1001 名前:山田 太郎 都市:東京
番号:2002 名前:山崎 太郎 都市:福岡

 

VB.net

Posted by arkgame