程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#履行SQL事務用法實例

C#履行SQL事務用法實例

編輯:C#入門知識

C#履行SQL事務用法實例。本站提示廣大學習愛好者:(C#履行SQL事務用法實例)文章只能為提供參考,不一定能成為您想要的結果。以下是C#履行SQL事務用法實例正文


本文實例講述了C#履行SQL事務用法。分享給年夜家供年夜家參考。詳細剖析以下:

1.經由過程存儲進程。

2.經由過程C#中供給的Transaction。這裡就來演示一下經由過程C#中供給的Transaction 履行SQL事務。

WebForm3.aspx.cs頁面
using System; 
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頁面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="用戶激活.WebForm3" %> 
<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#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved