本文实例讲述了C#执行SQL事务用法。分享给大家供大家参考。具体分析如下:
1.通过存储过程。
2.通过C#中提供的Transaction。这里就来演示一下通过C#中提供的Transaction 执行SQL事务。
 WebForm3.aspx.cs页面
 
 代码如下:
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
 namespace 用户激活
 
 {
 
 public partial class WebForm3 : System.Web.UI.Page
 
 {
 
 protected void Page_Load(object sender, EventArgs e)
 
 {
}
 protected void Button1_Click(object sender, EventArgs e)
 
 {
 
 string connStr=ConfigurationManager.ConnectionStrings[“ConnStr”].ConnectionString;
 
 using(SqlConnection conn=new SqlConnection(connStr))
 
 {
 
 conn.Open();
 
 using (SqlTransaction tran = conn.BeginTransaction()) //开始数据库事务。即创建一个事务对象tran
 
 {
 
 using (SqlCommand cmd =new SqlCommand())
 
 {
 
 cmd.Connection = conn;
 
 cmd.Transaction = tran; //获取或设置将要其执行的事务
 
 try
 
 {
 
 //在try{}块里执行sqlconnection命令
 
 cmd.CommandText = “update bb set Moneys=Moneys-” + Money.Text + ” where ID=” + ToID.Text;
 
 cmd.ExecuteNonQuery();
 
 cmd.CommandText = “update bb set Moneys=Moneys+” + Money.Text + ” where ID=” + FromID.Text;
 
 cmd.ExecuteNonQuery();
tran.Commit(); //如果两条sql命令都执行成功,则执行commit这个方法来执行这些操作。
 Msg.Text = “转账成功”;
 
 }
 
 catch
 
 {
 
 Msg.Text = “转账失败”;
 
 tran.Rollback();//如果执行不成功,发送异常,则执行rollback方法,回滚到事务操作开始之前。
 
 }
 
 }
 
 }
 
 }
 
 }
 
 }
 
 }
 WebForm3.aspx页面
 
 代码如下:
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head id=”Head1″ runat=”server”>
<title></title>
</head>
<body>
<form id=”form1″ runat=”server”>
转账账户:<asp:TextBox ID=”ToID” runat=”server”></asp:TextBox></br>
接收账户:<asp:TextBox ID=”FromID” runat=”server”></asp:TextBox></br>
转账金额:<asp:TextBox ID=”Money” runat=”server”></asp:TextBox></br>
转账是否成功:<asp:Label ID=”Msg” runat=”server” Text=””></asp:Label></br>
 <asp:Button ID=”Button1″ runat=”server” Text=”提交转账” onclick=”Button1_Click” />
 
 </form>
 
 </body>
 
 </html>
运行结果如下图所示:
 
希望本文所述对大家的C#程序设计有所帮助。
C#执行SQL事务用法实例
本文地址: http://www.paobuke.com/develop/c-develop/pbk23170.html