private void ExecuteTableThreaded(object state) { AsyncExecuteState <DataTable> internalState = state as AsyncExecuteState <DataTable>; DataTable result = ExecuteTable(internalState.Command); internalState.Callback(this, result, internalState.State); }
private void ExecuteSetThreaded(object state) { AsyncExecuteState <DataSet> internalState = state as AsyncExecuteState <DataSet>; DataSet result = ExecuteSet(internalState.Command); internalState.Callback(this, result, internalState.State); }
private void ExecuteReaderThreaded(object state) { AsyncExecuteState <IDataReader> internalState = state as AsyncExecuteState <IDataReader>; IDataReader result = ExecuteReader(internalState.Command); internalState.Callback(this, result, internalState.State); }
private void ExecuteScalarThreaded(object state) { AsyncExecuteState <object> internalState = state as AsyncExecuteState <object>; object result = ExecuteScalar(internalState.Command); internalState.Callback(this, result, internalState.State); }
private void ExecuteNonQueryThreaded(object state) { AsyncExecuteState <int> internalState = state as AsyncExecuteState <int>; int result = ExecuteNonQuery(internalState.Command); internalState.Callback(this, result, internalState.State); }
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); }