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 %> |
新闻热点
疑难解答