/// <summary> /// 执行存储过程语句 /// </summary> /// <param name="proc">存储过程名称</param> /// <param name="func">需要包含在事务中方法委托</param> /// <param name="param">委托方法的参数</param> /// <param name="commandParameters">可变个数的参数</param> /// <returns>返回影响的记录行数</returns> public static int ExecuteByProc(string proc, TransExecDelegate func, object param, params SqlParameter[] commandParameters) { using (SqlConnection conn = GetSqlConnection()) { SqlCommand cmd = new SqlCommand(); SqlTransaction transaction = conn.BeginTransaction(); SqlHelper.PrepareCommand(cmd, conn, transaction, CommandType.StoredProcedure, proc, commandParameters); try { int rows = cmd.ExecuteNonQuery(); if (func != null) { func(param); } transaction.Commit(); return(rows); } catch (Exception e) { transaction.Rollback(); throw e; } } }
/// <summary> /// 执行存储过程语句 /// </summary> /// <param name="proc">存储过程名称</param> /// <param name="func">需要包含在事务中方法委托</param> /// <param name="param">委托方法的参数</param> /// <param name="parameters">可变个数的参数</param> /// <returns>返回影响的记录行数</returns> public static int ExecuteByProc(string proc, TransExecDelegate func, object param, params object[] parameters) { if ((parameters != null) && (parameters.Length > 0)) { SqlParameter[] commandParameters = GetSpParameterSet(proc); AssignParameterValues(commandParameters, parameters); return(ExecuteByProc(proc, func, param, commandParameters)); } else { return(ExecuteByProc(proc, func, param, (SqlParameter[])null)); } }