conn.begintrans'//加入事务控制机制,防止出现数据不一至
conn.execute("insert into dv_topic(title,boardid,postusername,postuserid,posttable) values('"&title&"',"&boardid&",'"&fn_UserName(userid)&"',"&userid&",'dv_bbs1')")
max_addbbsID=conn.execute("select @@IDENTITY ")(0)'//获取当前插入记录的ID值
conn.execute("insert into dv_bbs1(parentid,boardid,username,topic,body,DateAndTime,rootid,orders) values(0,"&boardid&",'"&fn_UserName(userid)&"','"&title&"','"&body&"','"&now()&"',"&max_addbbsID&",0)")
if conn.errors.count>0 then
conn.rollbacktrans
err.clear()
response.end()
else
conn.committrans'//提交事务
end if
conn.execute("insert into dv_topic(title,boardid,postusername,postuserid,posttable) values('"&title&"',"&boardid&",'"&fn_UserName(userid)&"',"&userid&",'dv_bbs1')")
max_addbbsID=conn.execute("select @@IDENTITY ")(0)'//获取当前插入记录的ID值
conn.execute("insert into dv_bbs1(parentid,boardid,username,topic,body,DateAndTime,rootid,orders) values(0,"&boardid&",'"&fn_UserName(userid)&"','"&title&"','"&body&"','"&now()&"',"&max_addbbsID&",0)")
if conn.errors.count>0 then
conn.rollbacktrans
err.clear()
response.end()
else
conn.committrans'//提交事务
end if
本文介绍了一种在论坛系统中使用事务处理机制确保数据一致性的方法。通过conn.begintrans开始事务,执行插入操作后检查错误数量,若大于0则回滚,否则提交事务。此过程确保了即使在发生错误的情况下也能保持数据一致性。
1267





