データベースのデータを更新します。
- DataAdapterでデータを取得します。
- CommandBuilderのインスタンスを作成します。
- 取得したデータを変更します。
- DataAdapter.Updateメソッドを実行しデータベースのデータを更新します。
CommandBuilderがSqlCommandを自動生成するのはDataAdapterのSelectCommandが
単一テーブルで1つの主キーまたは一意のデータを返す場合に限られます。
Imports System.Data.SqlClient
Module Module1
Sub Main()
Dim con As New SqlConnection
'DB接続
con.ConnectionString = "Data Source=localhost\SQLEXPRESS;Initial Catalog=SAMPLE_DB;Integrated Security=True"
con.Open()
'SQLステートメント
Dim strSql As String = "SELECT * FROM T_SALES"
'SqlDataAdapter設定
Dim da As New SqlDataAdapter(strSql, con)
'DataSet
Dim ds As New DataSet
'データを取得
da.Fill(ds, "T_SALES")
'SqlCommandBuilder設定
Dim scBuilder As New SqlCommandBuilder(da)
'テーブル取得
Dim dt As DataTable = ds.Tables("T_SALES")
'レコード追加
Dim nr As DataRow = dt.NewRow
nr("ITEM_CD") = "003"
nr("UNIT_SALES") = 100
nr("SALES_AMOUNT") = 30000
dt.Rows.Add(nr)
'レコード変更
dt.Rows(2)("UNIT_SALES") = 80
dt.Rows(2)("SALES_AMOUNT") = 16000
'レコード削除
dt.Rows(6).Delete()
'データ更新
da.Update(ds, "T_SALES")
'SqlDataAdapterの解放
da.Dispose()
'接続を閉じる
con.Close()
'SqlConnctionの解放
con.Dispose()
Console.WriteLine("データを更新しました")
End Sub
End Module
![]() |
| 実行結果 |


0 件のコメント:
コメントを投稿