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...