Ejemplo n.º 1
0
        /// <summary>
        /// Sends the <see cref="CommandText" /> to the <see cref="Connection" /> and builds an internal <see cref="AseDataReader" /> which is not returned. Result sets are fetched through events.
        /// </summary>
        /// <param name="resultRowHandler">Delegate of type <see cref="ResultRowCallbackHandler" /> to be called when a row arrives.</param>
        /// <param name="resultSetHandler">Delegate of type <see cref="ResultSetCallbackHandler" /> to be called when a new result set arrives (not called for the first result set).</param>
        /// <param name="behavior">One of the <see cref="System.Data.CommandBehavior" /> values.</param>
        /// <remarks>
        /// <para>When the <see cref="CommandType" /> property is set to <b>StoredProcedure</b>, the <see cref="CommandText" /> property should be set to the
        /// name of the stored procedure. The command executes this stored procedure when you call ExecuteEventReader.</para>
        /// <para>Additional implementation of a data reader. This requires the <see cref="AseCommand"/> events <see cref="ResultRowCallbackHandler"/> and/or <see cref="ResultSetCallbackHandler"/> to fetch rows and to be notified of subsequent result sets.
        /// Rows and new result sets are fetched while the command is running, before this method returns, and, if running a stored procedure, before any stored proc result parameter is available.</para>
        /// <para>NOTE: Do not attempt to read any stored procedure return value parameter until after this method returns.</para>
        /// <para>The ExecuteEventReader method is an alternative version of <see cref="AseCommand.ExecuteReader(CommandBehavior)" />
        /// for use with stored procedures result sets and will begin fetching results in a more timely fashion, i.e. before the stored procedure returns.</para>
        /// </remarks>
        public void ExecuteCallbackReader(ResultRowCallbackHandler resultRowHandler, ResultSetCallbackHandler resultSetHandler = null, CommandBehavior behavior = CommandBehavior.Default)
        {
            if (_isDisposed)
            {
                throw new ObjectDisposedException(nameof(AseCommand));
            }

            LogExecution(nameof(ExecuteCallbackReader));
            _connection.InternalConnection.ExecuteCallbackReader(behavior, this, Transaction, resultRowHandler, resultSetHandler);
        }
 public void ExecuteCallbackReader(CommandBehavior behavior, AseCommand command, AseTransaction transaction,
                                   ResultRowCallbackHandler resultRowHandler, ResultSetCallbackHandler resultSetHandler = null)
 {
 }