예제 #1
0
        private void ExecuteTableThreaded(object state)
        {
            AsyncExecuteState <DataTable> internalState = state as AsyncExecuteState <DataTable>;

            DataTable result = ExecuteTable(internalState.Command);

            internalState.Callback(this, result, internalState.State);
        }
예제 #2
0
        private void ExecuteSetThreaded(object state)
        {
            AsyncExecuteState <DataSet> internalState = state as AsyncExecuteState <DataSet>;

            DataSet result = ExecuteSet(internalState.Command);

            internalState.Callback(this, result, internalState.State);
        }
예제 #3
0
        private void ExecuteReaderThreaded(object state)
        {
            AsyncExecuteState <IDataReader> internalState = state as AsyncExecuteState <IDataReader>;

            IDataReader result = ExecuteReader(internalState.Command);

            internalState.Callback(this, result, internalState.State);
        }
예제 #4
0
        private void ExecuteScalarThreaded(object state)
        {
            AsyncExecuteState <object> internalState = state as AsyncExecuteState <object>;

            object result = ExecuteScalar(internalState.Command);

            internalState.Callback(this, result, internalState.State);
        }
예제 #5
0
        private void ExecuteNonQueryThreaded(object state)
        {
            AsyncExecuteState <int> internalState = state as AsyncExecuteState <int>;

            int result = ExecuteNonQuery(internalState.Command);

            internalState.Callback(this, result, internalState.State);
        }
예제 #6
0
        public virtual void ExecuteTableAsync(IDbCommand command, ExecuteCallback <DataTable> callback, object state)
        {
            if (command == null)
            {
                throw new ArgumentNullException("command");
            }
            if (callback == null)
            {
                throw new ArgumentNullException("callback");
            }

            AsyncExecuteState <DataTable> internalState = new AsyncExecuteState <DataTable> (command, callback, state);

            ThreadPool.QueueUserWorkItem(new WaitCallback(ExecuteTableThreaded), internalState);
        }