Exemple #1
0
 public void Init(IDataReader rdr)
 {
     if (Result == null)
     {
         Result = DataHelper.GetRecordSetByReader(rdr);
     }
 }
Exemple #2
0
        public void Read(IDataReader rdr)
        {
            if (Result == null)
            {
                Result = DataHelper.GetRecordSetByReader(rdr);
            }
            var rowValues = new object[rdr.FieldCount];

            rdr.GetValues(rowValues);
            Result.Add(rowValues).AcceptChanges();
        }
Exemple #3
0
        /// <summary>
        /// Creates a <see cref="RecordSet"/> and reads all rows from the supplied <see cref="IDataReader"/>.
        /// </summary>
        /// <param name="rdr">An <see cref="IDataReader"/> that provides a result set.</param>
        /// <param name="rowsCount">Max number of rows to load (-1 means no limit).</param>
        /// <returns><see cref="RecordSet"/> with schema inferred by reader and populated with incoming data.</returns>
        public static RecordSet FromReader(IDataReader rdr, int rowsCount)
        {
            RecordSet rs      = DataHelper.GetRecordSetByReader(rdr);
            int       read    = 0;
            bool      loadAll = rowsCount < 0;

            while ((loadAll || read < rowsCount) && rdr.Read())
            {
                // just copy values
                var rowValues = new object[rdr.FieldCount];
                rdr.GetValues(rowValues);
                rs.Add(rowValues).AcceptChanges();
                read++;
            }
            return(rs);
        }
Exemple #4
0
        /// <summary>
        /// Creates a <see cref="RecordSet"/> from a data source using the supplied <see cref="IDataReader"/>.
        /// </summary>
        /// <param name="rdr">An <see cref="IDataReader"/> that provides a result set.</param>
        /// <returns><see cref="RecordSet"/> with schema inferred by reader and populated with incoming data.</returns>
        public static RecordSet FromReader(IDataReader rdr)
        {
            RecordSet rs = null;

            while (rdr.Read())
            {
                if (rs == null)
                {
                    rs = DataHelper.GetRecordSetByReader(rdr);
                }
                // just copy values
                var rowValues = new object[rdr.FieldCount];
                rdr.GetValues(rowValues);
                rs.Add(rowValues).AcceptChanges();
            }
            return(rs);
        }
Exemple #5
0
        /// <summary>
        /// Asynchronously creates a <see cref="RecordSet"/> from a data source using the supplied <see cref="IDataReader"/>.
        /// </summary>
        public static async Task <RecordSet> FromReaderAsync(IDataReader rdr, CancellationToken cancel)
        {
            RecordSet rs = null;

            while (await rdr.ReadAsync(cancel).ConfigureAwait(false))
            {
                if (rs == null)
                {
                    rs = DataHelper.GetRecordSetByReader(rdr);
                }
                // just copy values
                var rowValues = new object[rdr.FieldCount];
                await rdr.GetValuesAsync(rowValues, cancel).ConfigureAwait(false);

                rs.Add(rowValues).AcceptChanges();
            }
            return(rs);
        }