<?xml version="1.0" encoding="utf-8"?>
<Type Name="IDataReader" FullName="System.Data.IDataReader">
  <TypeSignature Language="C#" Maintainer="auto" Value="public interface IDataReader : IDisposable, System.Data.IDataRecord" />
  <AssemblyInfo>
    <AssemblyName>System.Data</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey>
    <AssemblyVersion>1.0.3300.0</AssemblyVersion>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement>
  <Interfaces>
    <Interface>
      <InterfaceName>System.Data.IDataRecord</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>The <see cref="T:System.Data.IDataReader" /> and <see cref="T:System.Data.IDataRecord" /> interfaces allow an inheriting class to implement a DataReader class, which provides a means of reading one or more forward-only streams of result sets. For more information about DataReader classes, see <format type="text/html"><a href="97AFC121-FB8B-465B-BAB3-6D844420BADB">[&lt;topic://cpcontheadonetdatareader&gt;]</a></format>. </para>
      <para>An application does not create an instance of the <see cref="T:System.Data.IDataReader" /> interface directly, but creates an instance of a class that inherits <see cref="T:System.Data.IDataReader" />.</para>
      <para>Classes that inherit <see cref="T:System.Data.IDataReader" /> must implement the inherited members, and typically define additional members to add provider-specific functionality.</para>
      <para>Changes made to a result set by another process or thread while data is being read may be visible to the user of a class that implements an IDataReader. However, the precise behavior is both provider and timing dependent.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Provides a means of reading one or more forward-only streams of result sets obtained by executing a command at a data source, and is implemented by .NET Framework data providers that access relational databases.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="Close">
      <MemberSignature Language="C#" Value="public void Close ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>You must explicitly call the <see cref="M:System.Data.IDataReader.Close" /> method when you are through using the <see cref="T:System.Data.IDataReader" /> to use the associated <see cref="T:System.Data.IDbConnection" /> for any other purpose.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Closes the <see cref="T:System.Data.IDataReader" /> Object.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Depth">
      <MemberSignature Language="C#" Value="public int Depth { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added: an object of type 'int'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The outermost table has a depth of zero.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a value indicating the depth of nesting for the current row.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="GetSchemaTable">
      <MemberSignature Language="C#" Value="public System.Data.DataTable GetSchemaTable ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Data.DataTable</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The implementation of <see cref="M:System.Data.IDataReader.GetSchemaTable" /> method for the .NET Framework Data Provider for OLE DB maps to the OLE DB IColumnsRowset::GetColumnsRowset method, while implementations for other .NET Framework data providers do not use an OLE DB provider layer. The order in which <see cref="M:System.Data.IDataReader.GetSchemaTable" /> returns metadata about each column in a table, and the DataReader columns that are returned, vary depending on which data provider you use. The following table lists data providers and members that implement <see cref="M:System.Data.IDataReader.GetSchemaTable" />.</para>
          <list type="table">
            <listheader>
              <item>
                <term>
                  <para>Data Provider </para>
                </term>
                <description>
                  <para>Member </para>
                </description>
              </item>
            </listheader>
            <item>
              <term>
                <para>.NET Data Provider for ODBC </para>
              </term>
              <description>
                <para>
                  <see cref="M:System.Data.Odbc.OdbcDataReader.GetSchemaTable" />. </para>
              </description>
            </item>
            <item>
              <term>
                <para>.NET Data Provider for OLE DB </para>
              </term>
              <description>
                <para>
                  <see cref="M:System.Data.OleDb.OleDbDataReader.GetSchemaTable" />. </para>
              </description>
            </item>
            <item>
              <term>
                <para>.NET Data Provider for Oracle </para>
              </term>
              <description>
                <para>
                  <see cref="M:System.Data.OracleClient.OracleDataReader.GetSchemaTable" />. </para>
              </description>
            </item>
            <item>
              <term>
                <para>.NET Data Provider for SQL Server </para>
              </term>
              <description>
                <para>
                  <see cref="M:System.Data.SqlClient.SqlDataReader.GetSchemaTable" />. </para>
              </description>
            </item>
          </list>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns a <see cref="T:System.Data.DataTable" /> that describes the column metadata of the <see cref="T:System.Data.IDataReader" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Data.DataTable" /> that describes the column metadata.</para>
        </returns>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="IsClosed">
      <MemberSignature Language="C#" Value="public bool IsClosed { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added: an object of type 'bool'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>
            <see cref="P:System.Data.IDataReader.IsClosed" /> and <see cref="P:System.Data.IDataReader.RecordsAffected" /> are the only properties that you can call after the <see cref="T:System.Data.IDataReader" /> is closed.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a value indicating whether the data reader is closed.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="NextResult">
      <MemberSignature Language="C#" Value="public bool NextResult ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Used to process multiple results, which can be obtained by executing batch SQL statements.</para>
          <para>By default, the data reader is positioned on the first result.</para>
          <para>code reference: IDataReader_NextResult#1</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Advances the data reader to the next result, when reading the results of batch SQL statements.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>true if there are more rows; otherwise, false.</para>
        </returns>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Read">
      <MemberSignature Language="C#" Value="public bool Read ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The default position of the <see cref="T:System.Data.IDataReader" /> is prior to the first record. Therefore you must call <see cref="M:System.Data.IDataReader.Read" /> to begin accessing any data.</para>
          <para>While the data reader is in use, the associated connection is busy serving the <see cref="T:System.Data.IDataReader" />. This is the case until <see cref="M:System.Data.IDataReader.Close" /> is called.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Advances the <see cref="T:System.Data.IDataReader" /> to the next record.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>true if there are more rows; otherwise, false.</para>
        </returns>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="RecordsAffected">
      <MemberSignature Language="C#" Value="public int RecordsAffected { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added: an object of type 'int'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Data.IDataReader.RecordsAffected" /> property is not set until all rows are read and you close the <see cref="T:System.Data.IDataReader" />.</para>
          <para>
            <see cref="P:System.Data.IDataReader.IsClosed" /> and <see cref="P:System.Data.IDataReader.RecordsAffected" /> are the only properties that you can call after the <see cref="T:System.Data.IDataReader" /> is closed.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
  </Members>
</Type>