使用事务

/// <summary>
    /// 执行事务操作
    /// </summary>
    /// <param name="sql">字符串数组用来存储需要执行的sql语句</param>
    /// <returns>返回一个布尔值,表示是否操作成功</returns>
    public static bool execTransaction(string[] sql)
    {
        //创建数据库连接
        SqlConnection con = createCon();
        //创建SqlTransaction对象
        SqlTransaction sTransaction=null;
        try
        {
            //打开数据库连接
            con.Open();
            //创建SqlCommand对象
            SqlCommand com = con.CreateCommand();
            //设置开始事务
            sTransaction = con.BeginTransaction();
            //设置需要执行事务
            com.Transaction = sTransaction;
            foreach (string sqlT in sql)
            {
                //设置SQL语句
                com.CommandText = sqlT;
                //判断是否执行成功
                if (com.ExecuteNonQuery() <= 0)
                {
                    //设置事务回滚
                    sTransaction.Rollback();
                    //返回布尔值False
                    return false;
                }
            }
            //提交事务
            sTransaction.Commit();
            //返回布尔值True
            return true;
        }
        catch (Exception ex)
        {
            //设置事务回滚
            sTransaction.Rollback();
            //返回布尔值False
            return false;
        }
        finally
        {
            //关闭数据库连接
            con.Close();
        }
    }

posted @ 2012-06-16 22:13  jsping68  阅读(221)  评论(0编辑  收藏  举报