示例#1
0
        /// <summary>
        /// Executes a stored procedure with input and output parameters.
        /// </summary>
        /// <param name="person">An instance of Person to hold values for the parameters.</param>
        private static void ExecuteNonQueryWithOutputParameters(Person person)
        {
            var parameters = new IDbDataParameter[]
            {
                _DB.CreateOutputParameter("@Age", ADONETType.Int),
                _DB.CreateOutputParameter("@FirstName", ADONETType.NVarChar, 4000),
                _DB.CreateOutputParameter("@LastName", ADONETType.NVarChar, 4000),
                _DB.CreateParameter("@Id", ADONETType.Int, person.Id)
            };

            _DB.ExecuteNonQuery("stp_GetPersonDetailsById", CommandType.StoredProcedure, parameters);
            person.Age       = parameters.GetValueOrDefault <int>("@Age");
            person.FirstName = parameters.GetValueOrDefault <string>("@FirstName");
            person.LastName  = parameters.GetValueOrDefault <string>("@LastName");
        }
示例#2
0
 /// <summary>
 /// Gets the value of the parameter, or default(T) if the parameter's value is null or DBNull.
 /// </summary>
 /// <typeparam name="T">The type of the value of the parameter.</typeparam>
 /// <param name="parameter">The parameter.</param>
 /// <returns>The value of the parameter as T, or default(T) if it's value is null or DBNull.</returns>
 public static T GetValueOrDefault <T>(this IDbDataParameter parameter)
 {
     return(parameter.GetValueOrDefault <T>(default(T)));
 }