private void ProcessQuery(QueryTask queryTask) { if (queryTask.Query.SQLQueryType == SQLQueryType.NonQuery) { queryTask.Query.RowCount = queryTask.NonQueryTask.Result; } else if (queryTask.Query.SQLQueryType == SQLQueryType.Scaler) { queryTask.Query.RowCount = 1; var result = queryTask.ScalerTask.Result; if (queryTask.Query is IScalerQuery) { IScalerQuery scalerQuery = (IScalerQuery)queryTask.Query; scalerQuery.ProcessScalerResult(result); } } }
private void ProcessReadQuery(QueryTask queryTask) { if (queryTask.Query.SQLQueryType == SQLQueryType.DataReader) { queryTask.Query.RowCount = 0; using (var reader = queryTask.ReaderTask.Result) { while (reader.Read()) { queryTask.Query.RowCount++; if (!queryTask.Query.ProcessRow(reader)) { break; } } reader.Close(); } } }
private async Task ProcessReadQueryAsync(QueryTask queryTask) { if (queryTask.Query.SQLQueryType == SQLQueryType.DataReader) { queryTask.Query.RowCount = 0; using (var reader = queryTask.ReaderTask.Result) { while (await reader.ReadAsync()) { queryTask.Query.RowCount++; if (!queryTask.Query.ProcessRow(reader)) { break; } if (queryTask.Query.ProcessRowAsync != null && !await queryTask.Query.ProcessRowAsync(reader)) { break; } } reader.Close(); } } }