Exemplo n.º 1
0
        /// <summary>
        /// Execute SQL query with reader as a result
        /// </summary>
        /// <param name="connection">Database connection</param>
        /// <param name="sqlStatement">Statement to execute</param>
        /// <param name="parameters">Statement parameters</param>
        /// <param name="transaction">(Optional) Transaction this statement should be in</param>
        /// <returns></returns>
        public async static Task <IDataReader> ExecuteQuery(this IDbConnection connection, string sqlStatement, Dictionary <string, object> parameters = null, IDbTransaction transaction = null)
        {
            using (IDbCommand command = connection.CreateCommand()) {
                command.CommandType = CommandType.Text;
                command.CommandText = sqlStatement;

                if (transaction != null)
                {
                    command.Transaction = transaction;
                }

                command.Connection.OpenConnection();

                command.BindParameters(parameters);

                return(await Task.Run(() => command.ExecuteReader()));
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Execute SQL stored procedure with reader as a result
        /// </summary>
        /// <param name="connection">Database connection</param>
        /// <param name="procName">Procedure to execute</param>
        /// <param name="parameters">Statement parameters</param>
        /// <param name="transaction">(Optional) Transaction this statement should be in</param>
        /// <returns></returns>
        public async static Task <IDataReader> ExecStoredProcedure(this IDbConnection connection, string procName, Dictionary <string, object> parameters = null, IDbTransaction transaction = null)
        {
            using (IDbCommand command = connection.CreateCommand()) {
                command.CommandType = CommandType.StoredProcedure;
                command.CommandText = procName;

                if (transaction != null)
                {
                    command.Transaction = transaction;
                }

                command.Connection.OpenConnection();

                command.BindParameters(parameters);

                return(await Task.Run(() => command.ExecuteReader()));
            }
        }