VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
OracleDataAdapterを用いてデータを更新するには、OracleCommandBuilderを使用します。(他の方法もありますが)
OracleCommandBuilderは自動でコマンドを作成してくれます。
手順
1)変数の宣言
2)接続文字列の作成
3)SELECT文の作成
4)SELECT用コマンドオブジェクトの作成
5)データアダプタの作成
6)データセットにデータを取得する
7)データテーブルを作成する
8)主キーの設定
9)データの更新
10)コマンドの自動作成
11)データベースの更新
Imports System.Data.OracleClient : :省略 : Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '1)変数の宣言 Dim OraConn As OracleConnection = New OracleConnection Dim OraDA As OracleDataAdapter Dim dtSet As DataSet = New DataSet("EMP") '2)接続文字列の作成 OraConn.ConnectionString = _ "user id=SCOTT;" & _ "password=TIGER;" & _ "Data Source=OracleServer" '3)SELECT文の作成 Dim strSelect As String strSelect = "SELECT EMPNO, ENAME, JOB FROM EMP" '4)SELECT用コマンドオブジェクトの作成 Dim SelectCmd As New OracleCommand SelectCmd.Connection = OraConn SelectCmd.CommandText = strSelect '5)データアダプタの作成 OraDA = New OracleDataAdapter OraDA.SelectCommand = SelectCmd '6)データセットにデータを取得する OraDA.Fill(dtSet, "EMP_TBL") '7)データテーブルを作成する Dim dt As DataTable = dtSet.Tables("EMP_TBL") '8)主キーの設定 '更新するデータを検索するためのキーをセット Dim pk() As DataColumn = {dt.Columns("EMPNO")} dt.PrimaryKey = pk '9)データの更新 'Findメソッドで主キー値に指定した行を更新します Dim UpdtRow As DataRow UpdtRow = dt.Rows.Find("888") 'ENAME列の値を「HIRO's.NET」に更新 UpdtRow("ENAME") = "HIRO's.NET" '10)コマンドを自動作成(DELETE文) Dim OCB As New OracleCommandBuilder(OraDA) '11)データベースの更新 OraDA.Update(dtSet, "EMP_TBL") End Sub