.net中的数据库事务回滚

//建立一个连接
             SqlConnection con = new SqlConnection("server=.;database=student;uid=sa;pwd=0421");
            //定义一个事务
             SqlTransaction transaction = null;

            try
             {
                //打开数据库连接
                 con.Open();
                //启动事务
                 transaction = con.BeginTransaction();
                //插入命令
                 SqlCommand cmd = new SqlCommand("insert into studentDetails values('111','liujia')", con, transaction);
                //执行
                 cmd.ExecuteNonQuery();

                //其他操作,比如说更新//比说是其它的存储过程
                //..下面是另一种代码的写法
            cmd.CommandText = "delete from dd ";
            cmd.Transaction = transaction;
            cmd.Connection = con;
            cmd.ExecuteNonQuery();

                //所有操作完成,提交
                 transaction.Commit();
             }
            catch (Exception ex)
             {
                //先回滚
                 transaction.Rollback();
                //下面进行异常处理
                //
             }
            finally
             {
                //关闭数据库连接
                 con.Close();
             }
          
         }

posted @ 2009-07-12 21:47  芋头  阅读(292)  评论(0编辑  收藏  举报