public static IEnumerable <Code> ParseUnlocodecsv(StreamReader reader) { using (var csv = new CachedCsvReader(reader, hasHeaders: true)) { var e = new DbEnumerator(csv); while (e.MoveNext()) { if (e.Current == null) { continue; } var record = (IDataRecord)e.Current; if (record.FieldCount == 0) { continue; } var code = new Code() { Country = (string)record.GetValue(1), Location = (string)record.GetValue(2), Name = (string)record.GetValue(3), NameWoDiacritics = (string)record.GetValue(4), }; yield return(code); } } }
public override IEnumerator GetEnumerator() { // Not calling EnsureInitialized() here. It will be called when the DbEnumerator is used IEnumerator result = new DbEnumerator(this, closeReader: true); return(result); }
//Este metodo sirve para realizar una consulta en la base de datos y resive como parametros un DbCommand //con el cual se realiza la consulta, y los siguientes parametros son opcionales lo que significa que si al invocar el //metodo no usan esos parametros estos toman el valor con el que se estan igualando en la declaración del metodo //ejemplo DbConnection = null, si no se pasa por parametro un valor este toma el valor null. //Este metodo devuelve una lista de DbDataRecord, estos contienen un array de valores de una fila del resultado //de la consulta llevando como identificador de cada espacio del array el nombre de la columna del SELECT de la consulta public static List <DbDataRecord> EjecutarConsulta(DbCommand dbCommand, DbConnection connection = null, int intMax = -1) { var lstDbDataRecord = new List <DbDataRecord>(); using (var dbConnection = connection == null ? Provider.GetDbConnection(StringConnection) : connection) { dbCommand.Connection = dbConnection; if (dbCommand.Connection.State == ConnectionState.Closed) { dbCommand.Connection.Open(); } using (var dbDataReader = dbCommand.ExecuteReader(CommandBehavior.CloseConnection)) { DbEnumerator dbEnumerator = (DbEnumerator)dbDataReader.GetEnumerator(); var intCount = 0; while ((intMax == -1 || intCount < intMax) && dbEnumerator.MoveNext()) { lstDbDataRecord.Add((DbDataRecord)dbEnumerator.Current); intCount++; } } dbCommand.Dispose(); } return(lstDbDataRecord); }
public static IEnumerable <IDataRecord> ToEnumerable(this IDataReader reader) { var e = new DbEnumerator(reader); while (e.MoveNext()) { yield return((IDataRecord)e.Current); } }
/// <summary> /// Initializes a new instance of the /// <see cref="DbDataRecordEnumerator"/> class. /// </summary> /// <param name="reader">The data reader instance, containing /// the result set.</param> /// <param name="lookup">The column name lookup dictionary.</param> public DbDataRecordEnumerator(IDbDataReader reader, DbFieldLookup lookup) { Precondition.Require(reader, () => Error.ArgumentNull("reader")); Precondition.Require(lookup, () => Error.ArgumentNull("lookup")); _reader = reader; _lookup = lookup; _enumerator = new DbEnumerator(_reader, false); }
static IEnumerable <IDataRecord> GetRecordsImpl(DataTable table) { using (var reader = new DataTableReader(table)) { var e = new DbEnumerator(reader); while (e.MoveNext()) { yield return((IDataRecord)e.Current); } } }
static IEnumerator <T> SelectImpl <T>(IDataReader reader, Func <IDataRecord, T> selector) { using (reader) { var e = new DbEnumerator(reader, true); while (e.MoveNext()) { yield return(selector((IDataRecord)e.Current)); } } }
private void Dispose(bool disposing) { if (disposing) { IDisposable disp = (_enumerator as IDisposable); if (disp != null) { disp.Dispose(); } } _enumerator = null; _disposed = true; }
public IEnumerable <IDataRecord> QuerySql(string commandText) { using (var command = connection.CreateCommand()) { command.CommandText = commandText; using (var reader = command.ExecuteReader()) { var enumerator = new DbEnumerator(reader, true); while (enumerator.MoveNext()) { yield return(enumerator.Current as IDataRecord); } } } }
public override bool HasNextIndexable() { do { while (DbEnumerator == null || !DbEnumerator.MoveNext()) { Done = true; indexer.NotificationEvent -= OnNotification; indexer.ChildComplete(); return(false); } } while (IsUpToDate((DbEnumerator.Current as TB.Mail).Uri)); return(true); }
public override bool HasNextIndexable() { do { if (DbEnumerator == null || !DbEnumerator.MoveNext()) { Done = true; indexer.NotificationEvent -= OnNotification; indexer.ChildComplete(); return(false); } } while ((DbEnumerator.Current as TB.Contact).GetString("table") != "BF" || IsUpToDate((DbEnumerator.Current as TB.Contact).Uri)); return(true); }
/// <summary> /// List /// </summary> public void List() { this.codeTypeList = new List <CodeType>(); IEnumerator list = null; try { using (var connection = new SqlConnection(ConnString.ConnectionString)) { var commandString = string.Format( " SELECT " + " [CodeType] " + " ,[Description] " + " FROM [CodeType] "); using (var command = new SqlCommand( commandString, connection)) { connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { list = new DbEnumerator(reader); while (reader.Read()) { CodeType _codeType = new CodeType(); _codeType.Code = reader["CodeType"].ToString(); _codeType.Description = reader["Description"].ToString(); this.codeTypeList.Add(_codeType); } } } } } catch (Exception) { } }
internal Enumerator(XmlaDataReader dataReader) { bool closeReader = (CommandBehavior.CloseConnection & dataReader.commandBehavior) != CommandBehavior.Default; this.enumerator = new DbEnumerator(dataReader, closeReader); }
override public IEnumerator GetEnumerator() { IEnumerator result = new DbEnumerator((IDataReader)this, true); // We always want to close the reader; return(result); }