VB6+ADO2.5在做事務處理時出錯,請教高手。
VB6+ADO2.5在做事務處理時出錯,請教高手。
本人有以下的程序
Private Sub cmdConfirm_Click()
'''
Set adoCN = New ADODB.Connection
adoCN.ConnectionString = sysConnectionString
adoCN.IsolationLevel = adXactRepeatableRead
adoCN.CursorLocation = adUseServer
adoCN.Mode = adModeShareDenyWrite
adoCN.ConnectionTimeout = 10000
adoCN.Open
adoCN.BeginTrans
If invRS.RecordCount > 0 Then invRS.MoveFirst
Do While Not invRS.EOF
sSQL = "SELECT * FROM r013_t_hold_item WHERE (company_cd = '001') "
sSQL = "Update r013_t_hold_item Set r013_used_qty =100 WHERE (company_cd = '001') "
adoCN.Execute sSQL
invRS.MoveNext
Loop
adoCN.CommitTrans
End Sub
請看以上的代碼,假設invRS記錄集有兩條記錄,當第一條記錄時,就能順利把《r013_t_hold_item 》表中的記錄select出來,然後也順利地update該記錄;當去到第二條記錄的時候,select出《r013_t_hold_item 》表中剛剛update的第一條記錄時就會出錯?請問這是什麼原因?事務處理不能select出update後,但沒有commitTrans的記錄嗎?在線等,急!!!!謝謝高手?