<Type Name="SqliteDataReader" FullName="Mono.Data.SqliteClient.SqliteDataReader">
  <TypeSignature Language="C#" Value="public class SqliteDataReader : MarshalByRefObject, System.Collections.IEnumerable, System.Data.IDataReader" />
  <AssemblyInfo>
    <AssemblyName>Mono.Data.SqliteClient</AssemblyName>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.MarshalByRefObject</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.Collections.IEnumerable</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.Data.IDataReader</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes>
    <Attribute>
      <AttributeName>System.Reflection.DefaultMember("Item")</AttributeName>
    </Attribute>
  </Attributes>
  <Members>
    <Member MemberName="Close">
      <MemberSignature Language="C#" Value="public void Close ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Closes the DataReader.</summary>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Dispose">
      <MemberSignature Language="C#" Value="public void Dispose ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Closes the DataReader.</summary>
        <remarks>None.</remarks>
      </Docs>
    </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>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="NextResult">
      <MemberSignature Language="C#" Value="public bool NextResult ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>This method should not currently be used.</summary>
        <returns>N/A.</returns>
        <remarks>This method currently has the same behavior of Read(), but its behavior will be changed in a future release to match the behavior of other data adapters.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Read">
      <MemberSignature Language="C#" Value="public bool Read ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Positions the reader on the next row in the table.</summary>
        <returns>
          <see langword="true" /> if the move to the next row was successful, i.e. if another row existed in the table; <see langword="false" /> otherwise.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetBoolean">
      <MemberSignature Language="C#" Value="public bool GetBoolean (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Get the value in a column converted to a boolean.</summary>
        <returns>The boolean value in the <paramref name="i" />th column.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetByte">
      <MemberSignature Language="C#" Value="public byte GetByte (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Byte</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Get the value in a column converted to a byte.</summary>
        <returns>The byte value in the <paramref name="i" />th column.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetBytes">
      <MemberSignature Language="C#" Value="public long GetBytes (int i, long fieldOffset, byte[] buffer, int bufferOffset, int length);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
        <Parameter Name="fieldOffset" Type="System.Int64" />
        <Parameter Name="buffer" Type="System.Byte[]" />
        <Parameter Name="bufferOffset" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <param name="fieldOffset">The starting byte in the field data at which to get the data.</param>
        <param name="buffer">The buffer to fill with field data.</param>
        <param name="bufferOffset">The starting index in the buffer to put the data.</param>
        <param name="length">The number of bytes to retrieve and put in the buffer.</param>
        <summary>Gets the byte data within a binary field.</summary>
        <returns>The number of bytes copied into the buffer.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetChar">
      <MemberSignature Language="C#" Value="public char GetChar (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Char</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Get the value in a column converted to a char.</summary>
        <returns>The char value in the <paramref name="i" />th column.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetChars">
      <MemberSignature Language="C#" Value="public long GetChars (int i, long fieldOffset, char[] buffer, int bufferOffset, int length);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
        <Parameter Name="fieldOffset" Type="System.Int64" />
        <Parameter Name="buffer" Type="System.Char[]" />
        <Parameter Name="bufferOffset" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <param name="fieldOffset">To be added.</param>
        <param name="buffer">To be added.</param>
        <param name="bufferOffset">To be added.</param>
        <param name="length">To be added.</param>
        <summary>This method is not implemented.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetData">
      <MemberSignature Language="C#" Value="public System.Data.IDataReader GetData (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Data.IDataReader</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>This method is not implemented.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetDataTypeName">
      <MemberSignature Language="C#" Value="public string GetDataTypeName (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Gets the name of the SQL data type for the given column.</summary>
        <returns>The name of a SQL data type, such as "text."</returns>
        <remarks>For Sqlite2 databases, "text" is always the return value.  For Sqlite3, the return value may be the data type used to create the column.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetDateTime">
      <MemberSignature Language="C#" Value="public DateTime GetDateTime (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.DateTime</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Get the value in a column converted to a DateTime.</summary>
        <returns>The DateTime value in the <paramref name="i" />th column.</returns>
        <remarks>In Sqlite 3 databases, if the column is typed as DATE or DATETIME and an integer value was put into the field, then SqliteClient will convert the integer value to a DateTime struct using <see cref="M:System.DateTime.FromFileTime(int)" />.  For Sqlite 2 and 3, if a string value was put into the field, then the string will be converted to a DateTime using <see cref="M:System.DateTime.Parse(string)" />.  Any other data type in the column may throw an exception.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetDecimal">
      <MemberSignature Language="C#" Value="public decimal GetDecimal (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Decimal</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Get the value in a column converted to a Decimal.</summary>
        <returns>The decimal value in the <paramref name="i" />th column.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetDouble">
      <MemberSignature Language="C#" Value="public double GetDouble (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Double</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Get the value in a column converted to a double.</summary>
        <returns>The double value in the <paramref name="i" />th column.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetFieldType">
      <MemberSignature Language="C#" Value="public Type GetFieldType (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Type</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Gets a Type representing the type of data in the field.</summary>
        <returns>Gets the type of data in the <paramref name="i" />th column for the current row of the DataReader.</returns>
        <remarks>
          <para>If the DataReader is positioned before the first row and a row of data is available, GetFieldType returns the data type for the first row.  If no rows of data are available, GetFieldType returns <see cref="T:System.String" />.</para>
          <para>If the <paramref name="i" />th column contains NULL, then GetFieldType returns <see cref="T:System.String" />.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GetFloat">
      <MemberSignature Language="C#" Value="public float GetFloat (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Single</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Get the value in a column converted to a float.</summary>
        <returns>The float value in the <paramref name="i" />th column.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetGuid">
      <MemberSignature Language="C#" Value="public Guid GetGuid (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Guid</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Get the value in a column converted to a GUID.</summary>
        <returns>The GUID value in the <paramref name="i" />th column.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetInt16">
      <MemberSignature Language="C#" Value="public short GetInt16 (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int16</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Get the value in a column converted to a short.</summary>
        <returns>The short value in the <paramref name="i" />th column.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetInt32">
      <MemberSignature Language="C#" Value="public int GetInt32 (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Get the value in a column converted to an int.</summary>
        <returns>The int value in the <paramref name="i" />th column.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetInt64">
      <MemberSignature Language="C#" Value="public long GetInt64 (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Get the value in a column converted to a long.</summary>
        <returns>The long value in the <paramref name="i" />th column.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetName">
      <MemberSignature Language="C#" Value="public string GetName (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Gets the name of a column.</summary>
        <returns>The name of the column, as given in the SQL query or the source table.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetOrdinal">
      <MemberSignature Language="C#" Value="public int GetOrdinal (string name);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="name" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="name">The name of a column.</param>
        <summary>Gets the index of a column by name.</summary>
        <returns>The index of the column.</returns>
        <remarks>This method throws an ArgumentException if the name is not the name of a column.  The name is treated case-insensitively.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetString">
      <MemberSignature Language="C#" Value="public string GetString (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Gets the value in a column converted to a string.</summary>
        <returns>The value in the <paramref name="i" />th column converted to a string.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetValue">
      <MemberSignature Language="C#" Value="public object GetValue (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Gets the value in the table by column index.</summary>
        <returns>The value in the table at the given column and in the row the DataReader is currently positioned on.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetValues">
      <MemberSignature Language="C#" Value="public int GetValues (object[] values);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="values" Type="System.Object[]" />
      </Parameters>
      <Docs>
        <param name="values">An array, usually the size of <see cref="P:Mono.Data.SqliteClient.SqliteDataReader.FieldCount" />.</param>
        <summary>Fills an array with values in the current row of the table.</summary>
        <returns>The number of values put into <paramref name="values" />, which is the minimum of the array's length and FieldCount.</returns>
        <remarks>
          <para>
            <paramref name="values" /> is filled with the values in the current row of the table, starting with the first column and going to the last column or until the end of <paramref name="values" />.</para>
          <para>Unusually, null values in the database are put into <paramref name="values" /> as <see cref="P:System.DBNull.Value" />.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="IsDBNull">
      <MemberSignature Language="C#" Value="public bool IsDBNull (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column index (zero-based).</param>
        <summary>Returns whether the value in the given column was null in the database.</summary>
        <returns>Whether the value of the field in the database was null.</returns>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Depth">
      <MemberSignature Language="C#" Value="public int Depth { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Returns zero.</summary>
        <value>Zero.</value>
        <remarks>This method is not currently used.</remarks>
      </Docs>
    </Member>
    <Member MemberName="FieldCount">
      <MemberSignature Language="C#" Value="public int FieldCount { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the number of columns in the table.</summary>
        <value>The number of columns in the table.</value>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IsClosed">
      <MemberSignature Language="C#" Value="public bool IsClosed { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets whether the DataReader has been closed.</summary>
        <value>
          <see langword="true" /> if Close or Dispose has been called on the DataReader.</value>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="RecordsAffected">
      <MemberSignature Language="C#" Value="public int RecordsAffected { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the number of rows in the source table modified by the query.</summary>
        <value>The number of rows in the source table modified by the query.</value>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Item">
      <MemberSignature Language="C#" Value="public object this[string name] { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="name" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="name">The name of the column, as given in the SQL query.</param>
        <summary>Gets the value in the table by column name.</summary>
        <value>The value in the table at the given column and in the row the DataReader is currently positioned on.</value>
        <remarks>None.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Item">
      <MemberSignature Language="C#" Value="public object this[int i] { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="i">The column to retrieve (zero-based).</param>
        <summary>Gets the value in the table by column index.</summary>
        <value>The value in the table at the given column and in the row the DataReader is currently positioned on.</value>
        <remarks>None.</remarks>
      </Docs>
    </Member>
  </Members>
  <Docs>
    <summary>The DataReader represents a table of results returned from a query.</summary>
    <remarks>
      <para>A DataReader is returned from <see cref="M:Mono.Data.SqliteClient.SqliteCommand.ExecuteReader()" />.  The DataReader currently implemented preloads the entire into memory.</para>
      <para>The DataReader is initially positioned before the first row of data.  <see cref="M:Mono.Data.SqliteClient.SqliteDataReader.Read()" /> must be called before accessing the data in the first row.</para>
    </remarks>
  </Docs>
</Type>
