比如现在三十么记录,可插入到数据库中去。放在一个事务中。
如下方法
/// <summary>
        /// 起动事务处理执行操作。
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        public int ExecuteNonQuery(ArrayList list,DbParameter[] values)
        {
            SqlCommand cmd = this.CreateCommand() as SqlCommand ;
            SqlTransaction transaction = cmd.Connection.BeginTransaction(IsolationLevel.ReadCommitted);
            cmd.Transaction = transaction;
            bool isSuccess = false;
            int count = list.Count;
            int sign = 0;
            try
            {
                for (int i = 0; i < count; i++)
                {
                    cmd.CommandText = list[i].ToString(); //-->这里就是那存储过程名称。
                    foreach (SqlParameter sp in values)
                    {
                        cmd.Parameters.Add(sp);
                    }
                    sign = cmd.ExecuteNonQuery();         //-->这里返回的值,可以是自已写在存储过程中 return的那个值吗?
                    if (sign < 0)
                    {
                        isSuccess = false;
                        break;
                    }
                    else
                    {
                        isSuccess = true;
                    }
                }
            }
            catch
            {
                isSuccess = false;
            }
            finally
            {
                if (isSuccess == true)
                {
                    transaction.Commit();
                    sign = 1;
                }
                else
                {
                    transaction.Rollback();
                    sign = -1;
                }
                cmd.Connection.Close();
                cmd.Connection.Dispose();
                cmd.Dispose();
            }
            return sign;
        }
如果这里执行的时候前十五条记录成功了,到行第十六的时候失败了
那么事务回滚会的时候,会把前十五条记录给删除吗?