コード例 #1
0
        public static DataTable ExecuteDataTable(this QueryReader queryReader)
        {
            if (queryReader == null)
            {
                throw new ArgumentNullException(nameof(queryReader));
            }

            var dataTable = queryReader.CreateSchemaTable();
            var values    = new object[queryReader.ColumnCount];

            while (queryReader.Read())
            {
                for (var i = 0; i < queryReader.ColumnCount; i++)
                {
                    values[i] = queryReader[i];
                }

                dataTable.Rows.Add(values);
            }

            return(dataTable);
        }
コード例 #2
0
 /// <summary>
 /// Returns a <see cref="T:System.Data.DataTable" /> that describes the column metadata
 /// of the <see cref="T:System.Data.IDataReader" />.
 /// </summary>
 /// <returns>
 /// A <see cref="T:System.Data.DataTable" /> that describes the column metadata.
 /// </returns>
 /// <exception cref="T:System.InvalidOperationException">The <see cref="T:System.Data.IDataReader" /> is closed.</exception>
 public DataTable GetSchemaTable()
 {
     EnsureNotDisposed();
     return(_queryReader.CreateSchemaTable());
 }