VB.Netでレコードを更新しようとしています。これがコードです。エラーは発生しません。しかし、このコードを実行するたびに、変数newbal
が増加することを期待しています。それは起こりません。これは、updateステートメントが機能しないことを意味します。回避策はありますか?
Dim cmd5 As New OracleCommand
cmd5.Connection = conn
cmd5.CommandText = "SELECT * FROM d009022 WHERE prdacctid = :custid AND lbrcode = :lbrcode"
cmd5.Prepare()
cmd5.Parameters.Add(":custid", customernumber)
cmd5.Parameters.Add(":lbrcode", lbr)
Try
Dim drs As OracleDataReader = cmd5.ExecuteReader()
drs.Read()
Dim oldbal As Decimal = drs.Item("SHDCLRBALFCY")
Dim newbal As Integer = CInt(oldbal) + CInt(amount)
Dim cmd6 As New OracleCommand
cmd6.Connection = conn
cmd6.CommandText = "UPDATE d009022 SET shdclrbalfcy = :newbal WHERE prdacctid = :custnum AND lbrcode = :lbr"
cmd6.Prepare()
cmd6.BindByName = True
cmd6.Parameters.Add(":newbal", newbal)
cmd6.Parameters.Add(":custnum", customernumber)
cmd6.Parameters.Add(":lbr", lbr)
cmd6.ExecuteNonQuery()