Executing a stored proc and getting the return value

by timvasil 11/11/2007 3:27:00 PM

Here's a handy way to execute a stored proc and get both the return value and any datatables.

public int ExecStoredProcedure(string procName, out DataSet dataSet, params SqlParameter[] parameters)
{
    // Prepare the stored proc execution
    using (SqlCommand cmd = new SqlCommand(procName, _dbConnection, _transaction))
    {
        cmd.CommandType = CommandType.StoredProcedure;

        // Add regular parameters (in, out, inout)
        if (parameters != null)
        {
            foreach (SqlParameter parameter in parameters)
            {
                cmd.Parameters.Add(parameter);
            }
        }

        // Add return value parameter
        SqlParameter retValParam = cmd.Parameters.Add("@RETURN_VALUE", SqlDbType.Int);
        retValParam.Direction = ParameterDirection.ReturnValue;

        // Execute the proc
        dataSet = new DataSet();
        using (SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd))
        {
            dataAdapter.Fill(dataSet);
        }

        // Extract the return value
        return (int)retValParam.Value;
    }
}

Tags:

ADO.NET

Comments are closed

Search

Calendar

«  February 2012  »
SuMoTuWeThFrSa
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

View posts in large calendar

Recent comments

Archive