C#中的事务处理

 

using System.Data.SqlClient;

using System;

namespace TransactionTest

{

 

    public class Program

    {

        static void Main(string[] args)

        {

            string str = "server = .;database=Flight;uid=sa;pwd=1234";

            Transaction trans = new Transaction();

            trans.RunSqlTransaction(str);

        }

    }

 

 

    public class Transaction

    {

        public Transaction()

        {

 

        }

 

        public void RunSqlTransaction(string str)

        {

            //创建连接

            SqlConnection myConnection = new SqlConnection(str);

            //打开连接

            myConnection.Open();

            //创建命令

            SqlCommand myCommand = new SqlCommand();

 

            //开始事务

 

            SqlTransaction myTransaction = myConnection.BeginTransaction();

 

 

            //指定事务和连接对象给myCommand

            myCommand.Connection = myConnection;

            myCommand.Transaction = myTransaction;

            string insertStr1 = "insert into flightInfo values ('1234','济南航空公司',100,'济南','青岛')";

            string insertStr2 = "insert into flightInfo values ('12344','上海航空公司',100,'上海','青岛')";

            try

            {

                myCommand.CommandText = insertStr1;

 

                //执行更新

                myCommand.ExecuteNonQuery();

 

 

                myCommand.CommandText = insertStr2;

                //执行更新

                myCommand.ExecuteNonQuery();

                //提交事务

                myTransaction.Commit();

 

                //默认情况下,事务不提交则回滚

                Console.WriteLine("两条记录插入成功");

            }

            catch (Exception ex)

            {

                try

                {

                    //回滚事务

                    myTransaction.Rollback();

                }

                catch (Exception ex1)

                {

 

                    Console.WriteLine(ex1.ToString());

                }

                Console.WriteLine(ex.ToString());

            }

            finally

            {

                myConnection.Close();

 

            }

 

        }

    }

}

 

 

转自:http://blog.163.com/pengpeng_614/blog/#m=0&t=1&c=fks_087067093083088069093095086095085081086067083087080074

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值