ASP中使用事務控制

2021-09-05 15:00:08 字數 1318 閱讀 2643

asp的事務控制功能。iis通過和mts服務聯絡,可以控制多種支援事務的系統,當程式發出「失敗」的訊號時,所有支援事務的系統均將自動回滾,即使操作已經正式完成;對不支援事務的操作也提供了方便的手工回滾方式:

<%@ transaction = required %>

on error resume next

set conn=server.createobject("adodb.connection")

conn.open ....

conn.execute "insert...."

conn.close

set conn=nothing

set conn2=server.createobject("adodb.connection")

conn2.open ....

conn2.execute "insert...."

conn2.close

set conn2=nothing

set fso=server.createobject("scripting.filesystemobject")

fso.createfolder "...."

if err then

objectcontext.setabort '通知所有支援事務的元件回滾,並執行手工回滾**

else

objectcontext.setcomplete

end if

set fso=nothing

sub ontransactionabort

response.write "錯誤"

end sub

sub ontransactioncommit

response.write "勝利完成任務"

end sub

%> 第一行的<%@ transaction = required %>表示這一頁asp檔案需要mts的事務支援。中間的各個操作都按普通順序書寫,而不用考慮回滾問題。在程式最後判斷是否有錯誤。如果有,呼叫objectcontext的setabort方法,iis會通過mts服務通知所有支援事務的元件回滾(主要是資料庫),並且執行sub ontransactionabort對不支援事務的操作手工回滾;如果沒有發生錯誤,呼叫objectcontext的setcomplete方法,則會執行sub ontransactioncommit來顯示成功的訊息。

整個asp程式不需要為判斷錯誤和回滾操作書寫多餘的**,只須在最後進行判斷,即使今後增加了多步操作,也只需要在sub ontransactionabort中進行控制即可,非常方便,程式設計師可以專注於過程編寫而不是書寫糾錯**。

ASP中使用事務處理

asp中使用事務處理asp中隊資料庫表的操作 insert update delete 可使用事務處理,並支援多事務處理.在asp的資料庫物件鏈結物件中,提供了一下屬性 begintrans 事務開始 committrans 事務提交 rollbacktrans 事務回滾 on error resu...

ASP中使用事務處理

當一組語句構成乙個事物處理時,如果一條語句沒有成功執行,則所有的語句都不成功.例如,有人在 上購買商品,有關的交易資訊儲存在倆個表中,乙個表用來儲存購買者的信用卡資訊,另乙個表儲存要購買的商品資訊.當擁護購買商品時,他的信用卡號碼已經輸入到第乙個表中.但是,就在這時,伺服器出現了故障,第二個表沒有被...

ASP中使用事務處理

asp中使用事務處理 asp中隊資料庫表的操作 insert update delete 可使用事務處理 並支援多事務處理.在 asp的資料庫物件鏈結物件中 提供了一下屬性 begintrans 事務開始 committrans 事務提交 rollbacktrans 事務回滾 on error re...