On Error Resume Next 第一步: 在事務環境下把用戶信息記入數據庫 If Err Then 關閉連接 退出 Else 第二步:創建文件夾 If Err Then 回滾第一步數據庫操作,退出 Else 第三步:在事務環境下操作日志數據庫 If Err Then 回滾第一步操作,刪除第二步建立的文件夾 退出 End If End If End If 提交第一步數據庫操作的事務 提交第二步數據庫操作的事務 End |
<%@ 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 "錯誤" FSO.DeleteFile Server.Mappath("a.txt") 'FSO的手工回滾——刪除文件夾 End Sub Sub OnTransactionCommit Response.Write "勝利完成任務" End Sub %> |
新聞熱點
疑難解答