各位前輩...請教一個問題...
資料庫中的資料...
Employee:
---------------
Number ... Demo
00001 test
現在小弟欲以 SQL 將 Demo 的資料修改...
Set Rs = Db.Execute("Update Employee Set Demo = '1234' Where Number = '00001' And Demo = '';")
假設...修改沒有成功的進行...
因為 SQL 中條件為 Demo = '' 我該如何去攔截這段 SQL 更新的情況呢?
因為小弟想攔截失敗或成功的資訊...
煩請有這方面資訊的前輩指導一下吧...
謝謝囉...
PS. 這個構想來自於...更新已被更新的資料...更新失敗的處理!
資料庫中的資料...
Employee:
---------------
Number ... Demo
00001 test
現在小弟欲以 SQL 將 Demo 的資料修改...
Set Rs = Db.Execute("Update Employee Set Demo = '1234' Where Number = '00001' And Demo = '';")
假設...修改沒有成功的進行...
因為 SQL 中條件為 Demo = '' 我該如何去攔截這段 SQL 更新的情況呢?
因為小弟想攔截失敗或成功的資訊...
煩請有這方面資訊的前輩指導一下吧...
謝謝囉...
PS. 這個構想來自於...更新已被更新的資料...更新失敗的處理!
文章標籤
全站熱搜

想了一個下午...想出了一個可能非正統的方法... 不過還是說出來讓大家參考看看...希望各位前輩別見笑了... 在 Employee Table 中再插入一個「最後修改時間」的欄位... 假設這樣的 Table 結果如下: Employee Table ---------------------------------- Number ... Demo LastUpdate 00001 null 2004/2/14 13:04 ---------------------------------- 然後將整個程式改為如下... ------------------------------------------------------------------------------------------- On Error GoTo UpdateErr Db.Begin strSQL = "Select * From Employee Where Number = '00001' And LastUpdate = #2004/2/14 13:04#;" With Rs .CursorLocation = adUseClient .Open strSQL, Db, adOpenStatic, adLockOptimistic .Fields("Demo") = "1234" .Fields("LastUpdate") = Now .Update End With Db.CommitTrans PROC_EXIT: Rs.Close Set Rs = Nothing Exit Sub UpdateErr: Db.RollbackTrans rtn = MsgBox("資料已被其他使用者更新,本次更新動作失敗!" 48 + vbOKOnly, "錯誤") Resume PROC_EXIT ------------------------------------------------------------------------------------------- 如果各位前輩有任何高見...都竭誠歡迎您發表... 先謝謝囉...