私はVB.netコーディングが新しく、Do While OleDbDataReader.Read
ループを介してテーブルの列を読み取ってテーブルのすべての行をループし、列を更新するコードを設計しましたmont
どこがゼロではないですか?Do While OleDbDataReader.Readループを使用するとアクセステーブルが更新されない
コードがエラーなしで実行されているが、私は変更を確認するために、テーブルを開いたときに我々は
tempMontComputer (Integer)
て値を渡した場合、彼らはすなわち、そこではありません。しかし、私は直接SQLに値を配置した場合クエリつまり代わりの値が格納されている
SET mont = @mont
使用
SET mont = 55
を使用し、テーブルが更新されます。
表の列で構成
emp_id
(テキスト)emp_name
(テキスト)emp_comp_amt
(番号)installment
(番号)mont
(番号)
これは私のコードです:OLEDBパラメータで
Imports System.Data
Imports System.Data.OleDb
Imports System.IO
Public provider As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="
Public databasepath As String = Application.StartupPath & "\EMPLOYEES.accdb"
Public connString As String = provider & databasepath
Public myConnection As OleDbConnection = New OleDbConnection
Public cmdUpdateAdvCompu As New OleDbCommand
Public DRAdvComputer As OleDbDataReader
Public tempMontComputer As Integer
Private Sub frmCalculateData_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
myConnection.ConnectionString = connString
myConnection.Open()
Dim commandAdvComputer As New OleDbCommand("SELECT * FROM adv_computer", myConnection)
DRAdvComputer = commandAdvComputer.ExecuteReader()
Do WhileDRAdvComputer.Read
If DRAdvComputer.Item("emp_comp_amt") <> 0 And DRAdvComputer.Item("mont") <> 0 Then
nscd_emp_comp_adv = DRAdvComputer.Item("emp_comp_amt")/DRAdvComputer.Item("installment")
tempMontComputer = DRAdvComputer.Item("mont") - 2
cmdUpdateAdvCompu.CommandText = "UPDATE adv_computer SET mont = @mont WHERE emp_id = @ID"
cmdUpdateAdvCompu.Parameters.AddWithValue("@ID", DRAdvComputer.Item("emp_id"))
cmdUpdateAdvCompu.Parameters.AddWithValue("@mont", tempMontComputer)
cmdUpdateAdvCompu.CommandType = CommandType.Text
cmdUpdateAdvCompu.Connection = myConnection
cmdUpdateAdvCompu.ExecuteNonQuery()
End If
Loop
cmdUpdateCheckDate.Dispose()
cmdUpdateAdvCompu.Dispose()
myConnection.Close()
End Sub
どうもありがとうスティーブ:
ちょうどパラメータの順序を逆に。それは本当に働いた。 –
助けになるのはうれしいです。あなたは比較的新しいユーザーであるので、私は[回答を受け入れる方法はどういう]を読むことをお勧めします(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – Steve