public dynamic fetchAll(DbMapper mapper) { int len; dynamic[] rowset = new dynamic[0]; OleDbDataReader dr; if (Db._fetchMode == Db.FETCH_READER) { return(this.execute(this._buildSelect(mapper))); } else { dr = this.execute(this._buildSelect(mapper)); if (_debug == false) { while (dr.Read()) { string[,] values = new string[dr.VisibleFieldCount, 2]; for (int i = 0; i < dr.VisibleFieldCount; i++) { values[i, 0] = dr.GetName(i); values[i, 1] = dr[dr.GetName(i)].ToString(); } if (Db._fetchMode == Db.FETCH_OBJECT) { DbMapperRecord record = null; if (mapper.Record != null) { record = (DbMapperRecord)System.Activator.CreateInstance(Type.GetType(mapper.Record)); } else { record = new DbMapperRecord(mapper); } record.Hydrate(values); len = rowset.Length; Array.Resize <dynamic>(ref rowset, (len + 1)); rowset[len] = record; } else { len = rowset.Length; Array.Resize <dynamic>(ref rowset, (len + 1)); rowset[len] = values; } } return(rowset); } return(dr); } }
public dynamic fetchRow(DbMapper mapper) { OleDbDataReader dr; dr = this.execute(this._buildSelect(mapper)); if (_debug == false) { dr.Read(); if (Db._fetchMode == Db.FETCH_OBJECT || Db._fetchMode == Db.FETCH_ARRAY) { string[,] values = new string[dr.VisibleFieldCount, 2]; for (int i = 0; i < dr.VisibleFieldCount; i++) { values[i, 0] = dr.GetName(i); values[i, 1] = dr[dr.GetName(i)].ToString(); } if (Db._fetchMode == Db.FETCH_OBJECT) { DbMapperRecord record = null; if (mapper.Record != null) { record = (DbMapperRecord)System.Activator.CreateInstance(Type.GetType(mapper.Record)); } else { record = new DbMapperRecord(mapper); } record.Hydrate(values); return(record); } else { return(values); } } } return(dr); }