读书人

.net中事宜的使用

发布时间: 2013-04-02 12:35:26 作者: rapoo

.net中事务的使用

事务简单来讲就是一组事情的集合,只有把这一组内的所有事情全部做完才能说完成了这个事务,如果在执行任意一件事情的过程中出现意外,则以前所做过的事情均恢复原样,就跟从来没发生过这件事一样。在编程中事务应用的非常广泛,而且在某些业务上必须要使用事务以应对可能出现的风险。一个典型的例子就是大家所熟悉的银行转账功能,转账简单来讲分为两步,第一步是从一个账户上减去需要转账的金额数目,第二步是向另外一个账户上增加转账金额。只有减去金额和增加金额都完成了我们才说这一事务执行完毕。我们可以想象如果没有加事务处理,当转账过程中只有第一步完成了,但是第二步没有完成便出现了意外这会是一件多么可怕的事情。既然事务这么重要,那事务具体怎样使用呢?下面亮出源码供大家参考:

    public class DBTransaction    {        //定义一个SqlHelper私有变量        private SqlHelper SqlHelper = null;               //当实例化该类的时候同时实例化一个Sqlhelper对象        public DBTransaction()        {            SqlHelper = new SqlHelper();        }        /// <summary>        /// 获取数据库连接        /// </summary>        /// <returns></returns>        public SqlConnection GetConnection()        {            return SqlHelper.GetCon();        }        /// <summary>        /// 获取事务        /// </summary>        /// <returns></returns>        public SqlTransaction GetTransaction(SqlConnection conn)        {            return conn.BeginTransaction();        }        /// <summary>        /// 提交事务        /// </summary>        public void Commit(SqlTransaction sqlTransaction)        {            sqlTransaction.Commit();        }        /// <summary>        /// 回滚事务        /// </summary>        public void Rollback(SqlTransaction sqlTransaction)        {            sqlTransaction.Rollback();        }        /// <summary>        /// 关闭连接        /// </summary>        public void Close(SqlConnection conn)        {            if (conn.State == ConnectionState.Open)            {                conn.Close();            }        }    }

事务的原子性决定了事务必须彻底执行完毕,否则将全部回滚,由此在一定程度上解决了安全性问题。本文同时附有Sqlhelper类的代码,想要进一步研究的同学科点击这里进行下载。

3楼xiaokui00814小时前
基础
2楼lsh668823小时前
sql事务
1楼lfmilaoshi前天 15:38
有比较深刻的认识

读书人网 >其他相关

热点推荐