当大量的对数据库进行插入,修改,删除等操作时,如果要实现事务,可以用以下代码。如:
<%@ 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