「VB.NET」DataTableクラスに行の値を変更する方法

2021年9月14日

書式
DataTable変数名.Rows(行目数-1).Item(項目名) = 変更値
使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Module Module1
Sub Main()
'テーブル作成
Dim dta As New DataTable("userテーブル")
'項目を追加
dta.Columns.Add("userno")
dta.Columns.Add("username")
dta.Columns.Add("dep")
dta.Columns.Add("addr")
'DataRow型変数rowの定義
Dim row As DataRow
'変数の作成
row = dta.NewRow
'userno値を追加
row("userno") = "3001"
'username値を追加
row("username") = "userA"
'dep値を追加
row("dep") = "開発部"
'addr値を追加
row("addr") = "東京"
'1行目をテーブルに追加
dta.Rows.Add(row)
'変更をコミット
dta.AcceptChanges()
Console.WriteLine("DataTableの行の値を追加する結果")
'ループでデータを取得
For Each dr As DataRow In dta.Rows
Console.WriteLine(dr("userno").ToString + " " + dr("username").ToString + " " + dr("dep").ToString + " " + dr("addr").ToString)
Next
'1行目の値を変更
dta.Rows(0).Item("addr") = "横浜"
dta.Rows(0).Item("dep") = "企画部"
dta.AcceptChanges()
Console.WriteLine("")
Console.WriteLine("DataTableの行の値を変更する結果")
'ループでデータを取得
For Each dr As DataRow In dta.Rows
Console.WriteLine(dr("userno").ToString + " " + dr("username").ToString + " " + dr("dep").ToString + " " + dr("addr").ToString)
Next
Console.ReadKey()
End Sub
End Module
Module Module1 Sub Main() 'テーブル作成 Dim dta As New DataTable("userテーブル") '項目を追加 dta.Columns.Add("userno") dta.Columns.Add("username") dta.Columns.Add("dep") dta.Columns.Add("addr") 'DataRow型変数rowの定義 Dim row As DataRow '変数の作成 row = dta.NewRow 'userno値を追加 row("userno") = "3001" 'username値を追加 row("username") = "userA" 'dep値を追加 row("dep") = "開発部" 'addr値を追加 row("addr") = "東京" '1行目をテーブルに追加 dta.Rows.Add(row) '変更をコミット dta.AcceptChanges() Console.WriteLine("DataTableの行の値を追加する結果") 'ループでデータを取得 For Each dr As DataRow In dta.Rows Console.WriteLine(dr("userno").ToString + " " + dr("username").ToString + " " + dr("dep").ToString + " " + dr("addr").ToString) Next '1行目の値を変更 dta.Rows(0).Item("addr") = "横浜" dta.Rows(0).Item("dep") = "企画部" dta.AcceptChanges() Console.WriteLine("") Console.WriteLine("DataTableの行の値を変更する結果") 'ループでデータを取得 For Each dr As DataRow In dta.Rows Console.WriteLine(dr("userno").ToString + " " + dr("username").ToString + " " + dr("dep").ToString + " " + dr("addr").ToString) Next Console.ReadKey() End Sub End Module
Module Module1
    Sub Main()

        'テーブル作成
        Dim dta As New DataTable("userテーブル")
        '項目を追加
        dta.Columns.Add("userno")
        dta.Columns.Add("username")
        dta.Columns.Add("dep")
        dta.Columns.Add("addr")


        'DataRow型変数rowの定義
        Dim row As DataRow
        '変数の作成
        row = dta.NewRow
        'userno値を追加
        row("userno") = "3001"
        'username値を追加
        row("username") = "userA"
        'dep値を追加
        row("dep") = "開発部"
        'addr値を追加
        row("addr") = "東京"

        '1行目をテーブルに追加
        dta.Rows.Add(row)


        '変更をコミット
        dta.AcceptChanges()
        Console.WriteLine("DataTableの行の値を追加する結果")
        'ループでデータを取得
        For Each dr As DataRow In dta.Rows
            Console.WriteLine(dr("userno").ToString + " " + dr("username").ToString + " " + dr("dep").ToString + " " + dr("addr").ToString)

        Next

        '1行目の値を変更
        dta.Rows(0).Item("addr") = "横浜"
        dta.Rows(0).Item("dep") = "企画部"
        dta.AcceptChanges()

        Console.WriteLine("")
        Console.WriteLine("DataTableの行の値を変更する結果")
        'ループでデータを取得
        For Each dr As DataRow In dta.Rows
            Console.WriteLine(dr("userno").ToString + " " + dr("username").ToString + " " + dr("dep").ToString + " " + dr("addr").ToString)

        Next

        Console.ReadKey()

    End Sub

End Module

実行結果
DataTableの行の値を追加する結果
3001 userA 開発部 東京

DataTableの行の値を変更する結果
3001 userA 企画部 横浜

VB.net

Posted by arkgame