当前位置: 移动技术网 > IT编程>开发语言>c# > C#执行SQL事务用法实例

C#执行SQL事务用法实例

2019年07月18日  | 移动技术网IT编程  | 我要评论
本文实例讲述了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#程序设计有所帮助。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网