當大量的對數據庫進行插入,修改,刪除等操作時,如果要實現事務,可以用以下代碼。如: <%@ TRANSACTION = Required%> On Error Resume Next strSql1="insert into a(num) values(1)" strSql2="insert into a(num) values('a')" '執行第一個sql語句 '執行第二個sql語句 '如果不用到事務,則第一個sql語句會提交到數據庫中。 '另外經查看數據庫發現,數據庫的事務回滾其實是執行相對應的反操作。執行insert,則在回滾里會執行delete操作。可以通過觀看主鍵id的變化得到。 If Err Then ObjectContext.SetAbort '通知所有支持事務的組件回滾 Else ObjectContext.SetComplete End If Sub OnTransactionAbort Response.Write "錯誤" '注意如果在前面用到了一些非數據庫方面的操作,如文件操作,建立文件,刪除文件等。需要在此加上文件的回滾操作。前面建立文件,則在此需要相應的刪除文件。 End Sub Sub OnTransactionCommit Response.Write "成功" End Sub
|