# C1.DataConnector.AdoNet.C1DataReader

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_DataConnector_AdoNet_C1DataReader" data-uid="C1.DataConnector.AdoNet.C1DataReader" class="text-break">C1DataReader Class
</h1>
  <div class="markdown level0 summary"><p>Reads a forward-only stream of rows from a data source specially adapted for C1DataConnector.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.marshalbyrefobject">MarshalByRefObject</a></div>
    <div class="level2"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.data.common.dbdatareader">DbDataReader</a></div>
    <div class="level3"><a class="xref" href="../C1.DataConnector/C1.DataConnector.C1DataReaderBase.html">C1DataReaderBase</a></div>
    <div class="level4"><span class="xref">C1DataReader</span></div>
      <div class="level5"><a class="xref" href="../C1.AdoNet.CSV/C1.AdoNet.CSV.C1CSVDataReader.html">C1CSVDataReader</a></div>
      <div class="level5"><a class="xref" href="../C1.AdoNet.GoogleAnalytics/C1.AdoNet.GoogleAnalytics.C1GoogleAnalyticsDataReader.html">C1GoogleAnalyticsDataReader</a></div>
      <div class="level5"><a class="xref" href="../C1.AdoNet.Json/C1.AdoNet.Json.C1JsonDataReader.html">C1JsonDataReader</a></div>
      <div class="level5"><a class="xref" href="../C1.AdoNet.Kintone/C1.AdoNet.Kintone.C1KintoneDataReader.html">C1KintoneDataReader</a></div>
      <div class="level5"><a class="xref" href="../C1.AdoNet.Magento/C1.AdoNet.Magento.C1MagentoDataReader.html">C1MagentoDataReader</a></div>
      <div class="level5"><a class="xref" href="../C1.AdoNet.OData/C1.AdoNet.OData.C1ODataDataReader.html">C1ODataDataReader</a></div>
      <div class="level5"><a class="xref" href="../C1.AdoNet.QuickBooksOnline/C1.AdoNet.QuickBooksOnline.C1QuickBooksOnlineDataReader.html">C1QuickBooksOnlineDataReader</a></div>
      <div class="level5"><a class="xref" href="../C1.AdoNet.Salesforce/C1.AdoNet.Salesforce.C1SalesforceDataReader.html">C1SalesforceDataReader</a></div>
      <div class="level5"><a class="xref" href="C1.AdoNet.ServiceNow.C1ServiceNowDataReader.html">C1ServiceNowDataReader</a></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.data.idatareader">IDataReader</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.data.idatarecord">IDataRecord</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.ienumerable">IEnumerable</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iasyncdisposable">IAsyncDisposable</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.DataConnector.AdoNet.html">C1.DataConnector.AdoNet</a></h6>
  <h6><strong>Assembly</strong>: C1.AdoNet.ServiceNow.dll</h6>
  <h5 id="C1_DataConnector_AdoNet_C1DataReader_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class C1DataReader : C1DataReaderBase, IDataReader, IDisposable, IDataRecord, IEnumerable, IAsyncDisposable</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Class C1DataReader
    Inherits C1DataReaderBase
    Implements IDataReader, IDisposable, IDataRecord, IEnumerable, IAsyncDisposable</code></pre>
  </div>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_Depth" data-uid="C1.DataConnector.AdoNet.C1DataReader.Depth">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.Depth.html#C1_DataConnector_AdoNet_C1DataReader_Depth">Depth</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the depth of nesting for the current row.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_FieldCount" data-uid="C1.DataConnector.AdoNet.C1DataReader.FieldCount">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.FieldCount.html#C1_DataConnector_AdoNet_C1DataReader_FieldCount">FieldCount</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the number of columns in the current row.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_HasRows" data-uid="C1.DataConnector.AdoNet.C1DataReader.HasRows">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.HasRows.html#C1_DataConnector_AdoNet_C1DataReader_HasRows">HasRows</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a boolean for whether this <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.html">C1DataReader</a> is empty of rows or not/false.
one or more rows.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_IsClosed" data-uid="C1.DataConnector.AdoNet.C1DataReader.IsClosed">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.IsClosed.html#C1_DataConnector_AdoNet_C1DataReader_IsClosed">IsClosed</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a boolean for whether the <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.html">C1DataReader</a> is closed or not/false.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_Item_System_Int32_" data-uid="C1.DataConnector.AdoNet.C1DataReader.Item(System.Int32)">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.Item.html#C1_DataConnector_AdoNet_C1DataReader_Item_System_Int32_">this[int]</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the value of the specified column as an instance of <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_Item_System_String_" data-uid="C1.DataConnector.AdoNet.C1DataReader.Item(System.String)">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.Item.html#C1_DataConnector_AdoNet_C1DataReader_Item_System_String_">this[string]</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the value of the specified column as an instance of <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_RecordsAffected" data-uid="C1.DataConnector.AdoNet.C1DataReader.RecordsAffected">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.RecordsAffected.html#C1_DataConnector_AdoNet_C1DataReader_RecordsAffected">RecordsAffected</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_Close" data-uid="C1.DataConnector.AdoNet.C1DataReader.Close">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.Close.html#C1_DataConnector_AdoNet_C1DataReader_Close">Close()</a>
        </td>
        <td class="markdown level1 summary"><p>Closes the <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.html">C1DataReader</a> object</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_Dispose_System_Boolean_" data-uid="C1.DataConnector.AdoNet.C1DataReader.Dispose(System.Boolean)">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.Dispose.html#C1_DataConnector_AdoNet_C1DataReader_Dispose_System_Boolean_">Dispose(bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Disposes the <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.html">C1DataReader</a> object</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_GetEnumerator" data-uid="C1.DataConnector.AdoNet.C1DataReader.GetEnumerator">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.GetEnumerator.html#C1_DataConnector_AdoNet_C1DataReader_GetEnumerator">GetEnumerator()</a>
        </td>
        <td class="markdown level1 summary"><p>Returns an <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.ienumerator">IEnumerator</a> that can be used to iterate through the rows in the data reader.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_GetFieldType_System_Int32_" data-uid="C1.DataConnector.AdoNet.C1DataReader.GetFieldType(System.Int32)">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.GetFieldType.html#C1_DataConnector_AdoNet_C1DataReader_GetFieldType_System_Int32_">GetFieldType(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the data type of the specified column.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_GetName_System_Int32_" data-uid="C1.DataConnector.AdoNet.C1DataReader.GetName(System.Int32)">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.GetName.html#C1_DataConnector_AdoNet_C1DataReader_GetName_System_Int32_">GetName(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the name of the column, given the zero-based column ordinal.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_GetOrdinal_System_String_" data-uid="C1.DataConnector.AdoNet.C1DataReader.GetOrdinal(System.String)">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.GetOrdinal.html#C1_DataConnector_AdoNet_C1DataReader_GetOrdinal_System_String_">GetOrdinal(string)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the column ordinal given the name of the column.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_GetSchemaTable" data-uid="C1.DataConnector.AdoNet.C1DataReader.GetSchemaTable">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.GetSchemaTable.html#C1_DataConnector_AdoNet_C1DataReader_GetSchemaTable">GetSchemaTable()</a>
        </td>
        <td class="markdown level1 summary"><p>Schema information is difficult to map into .NET conventions, so a
lot of work must be done to gather the necessary information so it can be represented
in an ADO.NET manner.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_GetValue_System_Int32_" data-uid="C1.DataConnector.AdoNet.C1DataReader.GetValue(System.Int32)">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.GetValue.html#C1_DataConnector_AdoNet_C1DataReader_GetValue_System_Int32_">GetValue(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the value of the specified column as an instance of <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_GetValues_System_Object___" data-uid="C1.DataConnector.AdoNet.C1DataReader.GetValues(System.Object[])">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.GetValues.html#C1_DataConnector_AdoNet_C1DataReader_GetValues_System_Object___">GetValues(object[])</a>
        </td>
        <td class="markdown level1 summary"><p>Populates an array of objects with the column values of the current row.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_IsDBNull_System_Int32_" data-uid="C1.DataConnector.AdoNet.C1DataReader.IsDBNull(System.Int32)">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.IsDBNull.html#C1_DataConnector_AdoNet_C1DataReader_IsDBNull_System_Int32_">IsDBNull(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a boolean for whether the specified column is missing a value or not/false.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_NextResult" data-uid="C1.DataConnector.AdoNet.C1DataReader.NextResult">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.NextResult.html#C1_DataConnector_AdoNet_C1DataReader_NextResult">NextResult()</a>
        </td>
        <td class="markdown level1 summary"><p>Advances the reader to the next result when reading the results of a batch of statements.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_Read" data-uid="C1.DataConnector.AdoNet.C1DataReader.Read">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.Read.html#C1_DataConnector_AdoNet_C1DataReader_Read">Read()</a>
        </td>
        <td class="markdown level1 summary"><p>Advances the reader to the next record in a result set.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_AdoNet_C1DataReader_ReadAsync_System_Threading_CancellationToken_" data-uid="C1.DataConnector.AdoNet.C1DataReader.ReadAsync(System.Threading.CancellationToken)">
          <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.ReadAsync.html#C1_DataConnector_AdoNet_C1DataReader_ReadAsync_System_Threading_CancellationToken_">ReadAsync(CancellationToken)</a>
        </td>
        <td class="markdown level1 summary"><p>An asynchronous version of <a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.Read.html#C1_DataConnector_AdoNet_C1DataReader_Read">Read()</a> method.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
