欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#执行SQL事务用法实例

程序员文章站 2023-12-12 17:14:46
本文实例讲述了c#执行sql事务用法。分享给大家供大家参考。具体分析如下: 1.通过存储过程。 2.通过c#中提供的transaction。这里就来演示一下通过c#中提...

本文实例讲述了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#执行SQL事务用法实例

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

上一篇:

下一篇: