/// <summary> /// Execute a nonquery stored procedure and get its return value /// </summary> /// <param name="storedProcedureName">Stored procedure name using dbo.Name sintax</param> /// <param name="parameters">Array of DataParameter</param> /// <returns>Stored procedure return code</returns> protected virtual int ExecuteScalar(string pStoredProcedureName, DataParameter[] pParameters) { DbCommand command = null; try { IList<DataParameter> outputParameters; Database dbAccess; command = PrepareCommand(pStoredProcedureName, pParameters, out outputParameters, out dbAccess); dbAccess.ExecuteNonQuery(command); FillOutputParameters(ref outputParameters, command); return (int)outputParameters[RETURN_VALUE_PARAM_INDEX].Value; } catch(Exception ex) { LastErrorMessage = ex.Message; return NULL_VALUE; } finally { if (command != null && command.Connection != null && command.Connection.State == ConnectionState.Open && Transaction.Current == null) { command.Connection.Close(); } } }
/// <summary> /// Extract one DataSet using all the parameters required /// </summary> /// <param name="storedProcedureName">Stored procedure name using dbo.Name sintax</param> /// <param name="parameters">Array of DataParameter</param> /// <returns>Full fill dataset</returns> protected DataSet ExecuteDataSet(string pStoredProcedureName, DataParameter[] pParameters) { int returnValue; return ExecuteDataSet(pStoredProcedureName, pParameters, out returnValue); }