「非接続型アクセス」の場合のデータ更新は、
DataSet→DataAdapter→データソース
の方向で反映されます。
実際にはDataSetに対してデータ更新を行った後、DataAdapterのUpdateメソッドを実行するとデータソースへの反映が適切に行われます。
Dim ds As New DataSet() Dim adapter As New SqlClient.SqlDataAdapter("SELECT title, type FROM titles", myConStr) 'データソースに接続するDataAdapterを生成する 'myConStrはSQLServerへの接続文字列 Dim cmdBuilder As New SqlClient.CommandBuilder(adapter) 'Select文を元に更新用のUpdate文を自動生成 adapter.Fill(ds, "titles")
取得したDataSetを更新するには
ds.Tables("titles").Rows(0)("title") = "VB.NETde業務アプリ"とする。
またDataSetは更新する前の値も保持できる。
ds.Tables("titles").Rows(0)("title", DataRowVersion.Original)で更新前のデータが、
ds.Tables("titles").Rows(0)("title", DataRowVersion.Current)で現在の値が取得できる。
DataSetに対して行った更新をデータソースに適用するには
adapter.Update(ds, "titles")とする。