利用ASP实现事务处理的方法(3)


<% Set Comm=server.CreateObject 
("ADODB.Command") %> 
<% Set Comm.ActiveConnection=conn %> 
<% Comm.CommandType=adCmdStoredProc %> 
<% Comm.CommandText="RegisterUser" %> 
//创建存储过程返回参数对象 
<% Set RetCode=Comm.CreateParameter 
("RetCode",adInteger,adParamReturnValue) %>  
//创建存储过程输入参数对象 
<% Set usrName=Comm.CreateParameter ("usrName",adVarchar,adParamInput,30) %>  
<% Set usrPwd=Comm.CreateParameter 
("usrPasswd",adVarchar,adParamInput,30) %> 
<% Set age=Comm.CreateParameter("age",adInteger,adParamInput) %> 
<% Set PhoneNum=Comm.CreateParameter 
("PhoneNum",adVarchar,adParamInput, 20) %> 
<% Set Address=Comm.CreateParameter("Address",adVarchar,adParamInput,50) %> 
<% Comm.Parameters.Append usrName %> 
<% Comm.Parameters.Append usrPwd %> 
<% Comm.Parameters.Append age %> 
<% Comm.Parameters.Append PhoneNum %> 
<% Comm.Parameters.Append Address %> 
<% Comm.Parameters("usrName")=request("usrName") %> 
<% Comm.Parameters("usrPasswd")=request("usrPasswd") %> 
<% Comm.Parameters("age")=request("age") %> 
<% Comm.Parameters("PhoneNum")=request("PhoneNum") %> 
<% Comm.Parameters("Address")=request("Address") %> 
<% Comm.Execute %> 
<% RetValue=Cint(Comm("RetCode")) %> 
//根据数据库存储过程返回代码判断注册是否成功 
<% if RetValue< 0 then %>  
<% response.Redirect RegisterFail.html %> 
<% else %> 
<% response.Redirect RegisterOk.html %> 
<% end if %> 


方法三 
利用MTS(Microsoft Transaction Server)组件的事务处理机制实现事务处理时,需要特别注意的是,这种机制下的事务不能跨越多个ASP页,如果一个事务处理需要来自多个组件的对象,则须将对这些对象的操作组合在一个ASP页中。 

首先需要在页首添加指令@TRANSACTION,将一个ASP页面声明为事务性。

@TRANSACTION指令必须在一页中的第一行,否则将产生错误。当页面中ASP脚本处理结束时,当前事务即告结束。 
<%@ TRANSACTION=Required Language= 
VB Script %> 
//事务执行成功触发事件 
<% Sub OnTransactionCommit() %>  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3224.html