データベースのデータを更新します。
- 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 件のコメント:
コメントを投稿