C#中的一个简单事务

 1None.gif<%@ Page Language="C#"%>
 2None.gif<%@ Import Namespace="System.Data" %>
 3None.gif<%@ Import Namespace="System.Data.SqlClient" %>
 4None.gif
 5None.gif<script runat=server>
 6None.gif
 7None.gifvoid Page_Load(Object sender , EventArgs e) 
 8ExpandedBlockStart.gifContractedBlock.gifdot.gif{
 9InBlock.gif    SqlTransaction objTransaction;
10InBlock.gif    SqlConnection conBank;
11InBlock.gif    string  strUpdateAccountA;
12InBlock.gif    string  strUpdateAccountB;
13InBlock.gif    SqlCommand cmdUpdateAccountA;
14InBlock.gif    SqlCommand cmdUpdateAccountB;
15InBlock.gif
16InBlock.gif    // Initialize objects
17InBlock.gif    conBank = new SqlConnection( "Server=localhost;Integrated Security=SSPI;database=Bank" );
18InBlock.gif
19InBlock.gif    strUpdateAccountA = "Update AccountA set { Balance = Balance - 999.99 WHERE Customer=//Smith//";
20InBlock.gif    cmdUpdateAccountA = new SqlCommand( strUpdateAccountA, conBank );
21InBlock.gif
22InBlock.gif    strUpdateAccountB = "Update AccountB set { Balance = Balance + 999.99 WHERE Customer=//Smith//";
23InBlock.gif    cmdUpdateAccountB = new SqlCommand( strUpdateAccountB, conBank );
24InBlock.gif
25InBlock.gif    // Open connection
26InBlock.gif    conBank.Open();
27InBlock.gif
28InBlock.gif    // Retrieve transaction from connection
29InBlock.gif    objTransaction = conBank.BeginTransaction();
30InBlock.gif
31InBlock.gif    // Assign Transaction to commands
32InBlock.gif    cmdUpdateAccountA.Transaction = objTransaction;
33InBlock.gif    cmdUpdateAccountB.Transaction = objTransaction;
34InBlock.gif
35InBlock.gif    // try { executing both commands
36ExpandedSubBlockStart.gifContractedSubBlock.gif    try dot.gif{
37InBlock.gif        cmdUpdateAccountA.ExecuteNonQuery();
38InBlock.gif        cmdUpdateAccountB.ExecuteNonQuery();
39InBlock.gif
40InBlock.gif        // Commit the transaction
41InBlock.gif        objTransaction.Commit();
42InBlock.gif        Response.Write( "Transaction Successful!" );
43ExpandedSubBlockEnd.gif    }
 
44InBlock.gif    catch (Exception eX)
45ExpandedSubBlockStart.gifContractedSubBlock.gif    dot.gif{
46InBlock.gif        objTransaction.Rollback();
47InBlock.gif        Response.Write( "Transaction Failed!" );
48ExpandedSubBlockEnd.gif    }
 
49InBlock.gif    finally
50ExpandedSubBlockStart.gifContractedSubBlock.gif    dot.gif{
51InBlock.gif        conBank.Close();
52ExpandedSubBlockEnd.gif    }

53ExpandedBlockEnd.gif}

54None.gif</script>
55None.gif

转载于:https://www.cnblogs.com/wenanry/archive/2006/06/25/435121.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值