Dim sCom As SqlClient.SqlCommandBuilder
Dim dSet As DataSet = New DataSet()
Dim dAdp As SqlClient.SqlDataAdapter
Dim scn As SqlClient.SqlConnection = New SqlClient.SqlConnection()
scn.ConnectionString = "Data Source=.\SQLEXPRESS;AttchDbFile name=" &
My.Application.Info.DirectoryPath &
"\***.mdf; Integrated Security = True; Connect TimeOut=30;
User Instance = True"
dAdp = New SqlClient.SqlDataAdapter("SELECT * FROM テーブル" , scn)
dAdp.Fill( dSet, "t_テーブル" )
sCom = New SqlClient.SqlCommandBuilder( dAdp )
For i As Integer = 0 To dSet.Tables("t_テーブル").Rows.Count - 1
dSet.Tables("t_テーブル").Rows(i)("項目") = "代入値"
Next
dAdp.Update( dSet, "t_テーブル")
scn.Close()
-----------------------------------------------------------------------
データセットに取得したレコードの更新をデータベースに反映するには
SqlCommandBuilderオブジェクトを生成してから
SqlDataAdapterオブジェクトのUpdateメソッドを実行する
SqlCommandBuilderオブジェクトの生成はNewキーワードを使い
引数にSqlDataAdapterオブジェクトを指定する
New SqlCilent.SqlCommandBuilder( SqlDataAdapter )
SqlCommandBuilderオブジェクトはデータセットの変更に対応するSQL文を自動的に作成します
データセットのレコード更新はDataRowオブジェクトに、フィールドのインデックスまたは名前を指定し
新たな値を代入します
DataTableオブジェクト.Rows( レコードのインデックス )( フィールドのインデックス/名前 ) = 値
更新後,SqlDataAdapterオブジェクトのUpdateメソッドを実行すると
データセットの変更がデータベースに反映される
Updateメソッドの引数には、DataSetオブジェクトとテーブル名を指定する
SqlDataAdapterオブジェクト.Update( DataSetオブジェクト, テーブル名 )
0 件のコメント:
コメントを投稿