「VB.NET」DataTableのテーブルの構造と値をコピーするサンプル

2021年11月26日

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

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

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

4.DataTableのテーブルの構造と値をコピーします
DataTable名.Copy

使用例

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)
'データをコミットします
cft.AcceptChanges()
'DataTableをコピー
Dim cftRes As DataTable = cft.Copy
Console.WriteLine("DataTableの行をコピーする前結果")
For Each dr As DataRow In cftRes.Rows
Console.WriteLine("番号:" & dr("userid").ToString & " " & "名前:" & dr("username").ToString & " " & "都市:" & dr("city").ToString)
Next
Console.WriteLine(" ")
Console.WriteLine("DataTableの行をコピーする後結果")
For Each dr As DataRow In cftRes.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) 'データをコミットします cft.AcceptChanges() 'DataTableをコピー Dim cftRes As DataTable = cft.Copy Console.WriteLine("DataTableの行をコピーする前結果") For Each dr As DataRow In cftRes.Rows Console.WriteLine("番号:" & dr("userid").ToString & " " & "名前:" & dr("username").ToString & " " & "都市:" & dr("city").ToString) Next Console.WriteLine(" ") Console.WriteLine("DataTableの行をコピーする後結果") For Each dr As DataRow In cftRes.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)

        'データをコミットします
        cft.AcceptChanges()

        'DataTableをコピー
        Dim cftRes As DataTable = cft.Copy

        Console.WriteLine("DataTableの行をコピーする前結果")
        For Each dr As DataRow In cftRes.Rows
            Console.WriteLine("番号:" & dr("userid").ToString & " " & "名前:" & dr("username").ToString & " " & "都市:" & dr("city").ToString)
        Next

        Console.WriteLine(" ")
        Console.WriteLine("DataTableの行をコピーする後結果")
        For Each dr As DataRow In cftRes.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
DataTableの行をコピーする前結果
番号:1001 名前:山田 太郎 都市:東京
DataTableの行をコピーする後結果
番号:1001 名前:山田 太郎 都市:東京
DataTableの行をコピーする前結果 番号:1001 名前:山田 太郎 都市:東京 DataTableの行をコピーする後結果 番号:1001 名前:山田 太郎 都市:東京
DataTableの行をコピーする前結果
番号:1001 名前:山田 太郎 都市:東京

DataTableの行をコピーする後結果
番号:1001 名前:山田 太郎 都市:東京

 

VB.net

Posted by arkgame