ASP中的事务处理

该博客为转载内容,转载自https://www.cnblogs.com/gucsnet/archive/2005/11/28/286044.html ,涉及数据库方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个项目使用ASP,其中一个页面要同时更新两个数据库的表,翻了翻MSDN之后,了解到使用@Transaction可以控制页面的事务,再使用ObjectContext.SetAbort或ObjectContext.SetComplete方法就可以了。基于Component Service的事务处理就是这么简单!

下面是我写的代码测试:
 1None.gif<% @Transaction = Required %>
 2None.gif<Option Explicit %>
 3None.gif<%
 4
None.gif
 5None.gifDim
 con1, con2
 6None.gifDim
 rs1, rs2
 7
None.gif
 8None.gifOn Error Resume Next

 9None.gifRandomize
10None.gif
11None.gif' Open Connection

12None.gifSet con1 = Server.CreateObject("ADODB.Connection")
13None.gifSet con2 = Server.CreateObject("ADODB.Connection"
)
14
None.gif
15None.gifcon1.Open "provider=sqloledb.1; data source=192.168.107.102; user id=sa; password=123456; initial catalog=northwind"

16None.gifcon2.Open "provider=sqloledb.1; data source=192.168.107.97; user id=sa; password=sa; initial catalog=northwind"
17None.gif
18None.gif' Open Recordset

19None.gifSet rs1 = Server.CreateObject("ADODB.Recordset")
20None.gifSet rs2 = Server.CreateObject("ADODB.Recordset"
)
21
None.gif
22None.gifrs1.Open "SELECT * FROM T_ADO1", con1, 13

23None.gifrs2.Open "SELECT * FROM T_ADO2", con2, 13
24None.gif
25None.gif' AddNew Record

26None.gifrs1.AddNew
27None.gifrs1("num"= Rnd() * 100

28None.gifrs1.Update
29
None.gif
30
None.gifrs2.AddNew
31None.gifrs2("num"= Rnd() * 100

32None.gifrs2.Update
33
None.gif
34None.gif' Raise Error Or Not

35None.gifIf Request.QueryString("error"= 1 Then
36None.gif    tempNumber = CInt("abc")
37None.gifEnd If

38None.gif
39None.gif' If Error Occured, Rollback Transaction

40None.gifIf Err.Number <> 0 Then
41None.gif    ObjectContext.SetAbort
42None.gif    Response.Write Err.Number & "<br>" &
 Err.Description
43None.gifElse

44None.gif    Response.Write "OK"
45None.gifEnd If
46None.gif
47None.gif' Close Recordset

48None.gifIf Not (rs1 Is NothingThen
49None.gif    rs1.Close
50None.gifEnd If

51None.gifIf Not (rs2 Is NothingThen
52None.gif    rs2.Close
53None.gifEnd If

54None.gif
55None.gifSet rs1 = Nothing

56None.gifSet rs2 = Nothing
57None.gif
58
None.gif
59None.gif' Close Connection

60None.gifIf Not (con1 Is NothingThen
61None.gif    con1.Close
62None.gifEnd If

63None.gifIf Not (con2 Is NothingThen
64None.gif    con2.Close
65None.gifEnd If

66None.gif
67None.gifSet con1 = Nothing

68None.gifSet con2 = Nothing
69None.gif
70None.gif%>

转载于:https://www.cnblogs.com/gucsnet/archive/2005/11/28/286044.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值