首页 > 代码库 > 事务应用-执行多条SQL语句

事务应用-执行多条SQL语句

 

事务具有原子性,要么不执行,要么全执行,一旦成功执行永久保存.而这些正是由于事务的原子性和对数据库的持久性形成的.以下是一个关于统一给数据库中的数据修改的批量操作,利用到事务.

 

 

TODO:批量修改数据库中的数据

CODE:

#region  ExtensionMethod        /// <summary>        /// 根据学号来给指定的学生加分-陈方林-2014年3月22日15:17:59        /// </summary>        /// <param name="strStudentNoScore">用来加分的sql语句</param>        /// <returns>返回执行的结果</returns>        public bool TeaGiveScores(string[] strStudentNoScore) {                      //打开数据库连接            sqlcon.Open();            //声明sql事务            SqlTransaction myTrans;            //sql命令对象            SqlCommand mycmd = new SqlCommand();              //声明命令对象的连接数据库            mycmd.Connection = sqlcon;            //开启事务            myTrans = sqlcon.BeginTransaction();            //设置将在命令对象中执行的事务            mycmd.Transaction = myTrans;            try            {                //遍历字符串数组中的sql语句                for (int i = 0; i < strStudentNoScore.Length; i++)                {                    mycmd.CommandText = strStudentNoScore[i];                                       int r =mycmd.ExecuteNonQuery();                }                //事务提交                myTrans.Commit();                return true;            }            catch (Exception)            {                //执行错误,事务回滚                if (myTrans != null)                    myTrans.Rollback();                return false;            }            finally            {                //关闭连接                                if (sqlcon != null)                    sqlcon.Close();            }                }		#endregion  ExtensionMethod


 

  总结

     事务操作大致有(温故)

         BeginTrans:开始事务
         CommitTrans:提交事务
         RollBackTrans:回滚事务

         主要是对于数据处理的一个好的封装,作为处理的单元。结合sql常用的几个对象,来处理多行sql语句。