[VB.NET]Oracleでテーブルにデータを更新(update)する
書式
UPDATE テーブル名 SET カラム1= :変数1 WHERE カラム2 = :変数2
OracleCommand型インスタンス名.Parameters.Add(New OracleParameter(カラム名, OracleDbType.データ型)).Value = xxx
OracleCommand
基本コンストラクターは、すべてのフィールドを既定値に初期化します。 次の表に、のインスタンスのプロパティの初期値を示し OracleCommand ます。
注釈
プロパティ 初期値
CommandText 空の文字列 ("")
CommandType Text
Connection null
使用例
Imports Oracle.ManagedDataAccess.Client
Module Module1
Sub Main()
'SQL構文(update操作) バインド変数 :変数名
Dim strSql As String = "UPDATE USERTBL SET DEPNAME= :DEPNAME WHERE UID = :UID"
'Using ステートメント OracleConnectionのインスタンスを生成
Using Conn As OracleConnection = New OracleConnection()
'データソース、ユーザー名、パスワードを指定
Conn.ConnectionString ="User Id=xxx;Password=xxx;Data Source=xxx;"
Try
'Oracleに接続
Conn.Open()
'トランザクションを開始
Using transaction As OracleTransaction = Conn.BeginTransaction()
Try
'OracleCommandのインスタンスのプロパティを指定
Using cmd As OracleCommand = New OracleCommand(strSql)
'Connectionプロパティにconnを指定
cmd.Connection = Conn
cmd.CommandType = CommandType.Text
'バインド名
cmd.BindByName = True
'Parametersプロパティに値UIDを設定
cmd.Parameters.Add(New OracleParameter("UID", OracleDbType.Int32)).Value = 45
'Parametersプロパティに値DEPNAMEを設定
cmd.Parameters.Add(New OracleParameter("DEPNAME", OracleDbType.Varchar2)).Value = "開発部"
'SQLの実行
cmd.ExecuteNonQuery()
'コミット
transaction.Commit()
End Using
Catch ex As Exception
'ロールバック
transaction.Rollback()
'エラーメッセージを出力
Console.WriteLine(ex.Message)
End Try
End Using
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End Using
End Sub
End Module