zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#执行SQL事务用法实例

2023-06-13 09:15:41 时间

本文实例讲述了C#执行SQL事务用法。分享给大家供大家参考。具体分析如下:

1.通过存储过程。

2.通过C#中提供的Transaction。这里就来演示一下通过C#中提供的Transaction执行SQL事务。

WebForm3.aspx.cs页面

复制代码代码如下:
usingSystem; 
usingSystem.Collections.Generic; 
usingSystem.Linq; 
usingSystem.Web; 
usingSystem.Web.UI; 
usingSystem.Web.UI.WebControls; 
usingSystem.Configuration; 
usingSystem.Data.SqlClient; 
 
namespace用户激活 

   publicpartialclassWebForm3:System.Web.UI.Page 
   { 
       protectedvoidPage_Load(objectsender,EventArgse) 
       { 
 
       } 
 
       protectedvoidButton1_Click(objectsender,EventArgse) 
       { 
           stringconnStr=ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; 
           using(SqlConnectionconn=newSqlConnection(connStr)) 
           { 
               conn.Open(); 
               using(SqlTransactiontran=conn.BeginTransaction())//开始数据库事务。即创建一个事务对象tran 
               { 
                   using(SqlCommandcmd=newSqlCommand()) 
                   { 
                       cmd.Connection=conn; 
                       cmd.Transaction=tran;//获取或设置将要其执行的事务 
                       try 
                       { 
                           //在try{}块里执行sqlconnection命令 
                           cmd.CommandText="updatebbsetMoneys="+Money.Text+"whereID="+ToID.Text; 
                           cmd.ExecuteNonQuery(); 
                           cmd.CommandText="updatebbsetMoneys=Moneys+"+Money.Text+"whereID="+FromID.Text; 
                           cmd.ExecuteNonQuery(); 
 
                           tran.Commit();//如果两条sql命令都执行成功,则执行commit这个方法来执行这些操作。 
 
                           Msg.Text="转账成功"; 
                       } 
                       catch 
                       { 
                           Msg.Text="转账失败"; 
                           tran.Rollback();//如果执行不成功,发送异常,则执行rollback方法,回滚到事务操作开始之前。 
                       } 
                   } 
               } 
           } 
       } 
   } 
}

WebForm3.aspx页面

复制代码代码如下:
<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="WebForm3.aspx.cs"Inherits="用户激活.WebForm3"%> 
<htmlxmlns="http://www.w3.org/1999/xhtml"> 
<headid="Head1"runat="server"> 
   <title></title> 
</head> 
<body> 
   <formid="form1"runat="server"> 
   转账账户:<asp:TextBoxID="ToID"runat="server"></asp:TextBox></br> 
   接收账户:<asp:TextBoxID="FromID"runat="server"></asp:TextBox></br> 
   转账金额:<asp:TextBoxID="Money"runat="server"></asp:TextBox></br> 
   转账是否成功:<asp:LabelID="Msg"runat="server"Text=""></asp:Label></br> 
 
   <asp:ButtonID="Button1"runat="server"Text="提交转账"onclick="Button1_Click"/> 
   </form> 
</body> 
</html>

运行结果如下图所示:

希望本文所述对大家的C#程序设计有所帮助。