<Type Name="SqliteConnection" FullName="Mono.Data.SqliteClient.SqliteConnection">
  <TypeSignature Language="C#" Value="public class SqliteConnection : System.Data.Common.DbConnection, ICloneable" />
  <AssemblyInfo>
    <AssemblyName>Mono.Data.SqliteClient</AssemblyName>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Data.Common.DbConnection</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.ICloneable</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <summary>Represents a connection to a database.</summary>
    <remarks>
      <para>Creating a connection is the starting point for accessing a Sqlite database.</para>
      <example>
        <code lang="C#">string connectionString = "URI=file:SqliteTest.db";
IDbConnection dbcon = new SqliteConnection(connectionString);</code>
      </example>
    </remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public SqliteConnection ();" />
      <MemberType>Constructor</MemberType>
      <Parameters />
      <Docs>
        <summary>Creates a new connection object.</summary>
        <remarks>The <see cref="P:Mono.Data.SqliteClient.SqliteConnection.ConnectionString" /> must be set and <see cref="M:Mono.Data.SqliteClient.SqliteConnection.Open()" /> must be called before accesses to a database can be made.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public SqliteConnection (string connstring);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="connstring" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="connstring">A connection string.</param>
        <summary>Creates a new connection object with a given connection string.</summary>
        <remarks>See <see cref="P:Mono.Data.SqliteClient.SqliteConnection.ConnectionString" /> for the format expected for <paramref name="connString" />.  <see cref="M:Mono.Data.SqliteClient.SqliteConnection.Open()" /> must be called before accesses to the database can be made.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="BeginDbTransaction">
      <MemberSignature Language="C#" Value="protected override System.Data.Common.DbTransaction BeginDbTransaction (System.Data.IsolationLevel il);" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Data.Common.DbTransaction</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="il" Type="System.Data.IsolationLevel" />
      </Parameters>
      <Docs>
        <param name="il">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="BeginTransaction">
      <MemberSignature Language="C#" Value="public System.Data.Common.DbTransaction BeginTransaction ();" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Data.Common.DbTransaction</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="BeginTransaction">
      <MemberSignature Language="C#" Value="public System.Data.Common.DbTransaction BeginTransaction (System.Data.IsolationLevel il);" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Data.Common.DbTransaction</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="il" Type="System.Data.IsolationLevel" />
      </Parameters>
      <Docs>
        <param name="il">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="BusyTimeout">
      <MemberSignature Language="C#" Value="public int BusyTimeout { set; get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Sets the number of milliseconds to wait before throwing a <see cref="T:Mono.Data.SqliteClient.SqliteBusyException" />.</summary>
        <value>Zero to throw a <see cref="T:Mono.Data.SqliteClient.SqliteBusyException" /> immediately while executing a command if the database is locked by another executing command (possibly in another process), otherwise the number of milliseconds to wait until the database is free before throwing an exception.</value>
        <remarks>The default value is zero.  Set this property before opening a connection, or use the busy_timeout connection string parameter.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ChangeDatabase">
      <MemberSignature Language="C#" Value="public override void ChangeDatabase (string databaseName);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="databaseName" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="databaseName">A new database name.</param>
        <summary>This method is not implemented.</summary>
        <remarks>This method is not implemented.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Close">
      <MemberSignature Language="C#" Value="public override void Close ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Closes the current connection.</summary>
        <remarks>None.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ConnectionString">
      <MemberSignature Language="C#" Value="public override string ConnectionString { set; get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>A connection string specifying how to connect to the database.</summary>
        <value>See the remarks section below.</value>
        <remarks>
          <para>The format of a basic connection string is <c>URI=file:/path/to/file</c>, for example <c>URI=file:SqliteTest.db</c>.  That will use the database SqliteTest.db in the current directory. It will be created if it does not exist.</para>
          <para>The ADO.NET adapter will use SQLite version 2 by default, but if version 2 is not found and version 3 is available, it will fall back to version 3. You can force the adapter to use version 3 by adding "version=3" to the connection string: <c>URI=file:SqliteTest.db,version=3</c>.</para>
          <para>These are the available connection string parameters, which should be separated by semicolons:</para>
          <list type="table">
            <listheader>
              <term>Name</term>
              <description>Purpose</description>
              <description>Example</description>
            </listheader>
            <item>
              <term>URI</term>
              <description>a file Universal Resource Identifier (only file:)</description>
              <description>
                <c>URI=file:SqliteTest.db</c>
              </description>
            </item>
            <item>
              <term>version</term>
              <description>version of Sqlite to use: 2 or 3; the version must be installed on the system</description>
              <description>
                <c>version=3</c>
              </description>
            </item>
            <item>
              <term>busy_timeout</term>
              <description>a timeout, in milliseconds, to wait when the database is locked before throwing a SqliteBusyException, or zero to timeout immediately (since Mono 1.1.14)n</description>
              <description>
                <c>busy_timeout=3000</c>
              </description>
            </item>
          </list>
          <para>The busy_timeout parameter is implemented as a call to sqlite(3)_busy_timeout (http://sqlite.org/capi3ref.html#sqlite3_busy_timeout). The default value is 0, which means the adapter should throw a SqliteBusyException immediately if the database is locked.</para>
        </remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ConnectionTimeout">
      <MemberSignature Language="C#" Value="public override int ConnectionTimeout { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>This property is not used.</summary>
        <value>Always zero.</value>
        <remarks>None.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="CreateDbCommand">
      <MemberSignature Language="C#" Value="protected override System.Data.Common.DbCommand CreateDbCommand ();" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Data.Common.DbCommand</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Database">
      <MemberSignature Language="C#" Value="public override string Database { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the URI of the database file specified in the last value set for the connection string.</summary>
        <value>A  URI.</value>
        <remarks>None.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="DataSource">
      <MemberSignature Language="C#" Value="public override string DataSource { get; }" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Encoding">
      <MemberSignature Language="C#" Value="public System.Text.Encoding Encoding { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Text.Encoding</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the character encoding specified in the last value set for the connection string.</summary>
        <value>An encoding, or null if the default encoding is used.</value>
        <remarks>Encoding is only used when connecting to Sqlite version 2 databases.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="LastInsertRowId">
      <MemberSignature Language="C#" Value="public int LastInsertRowId { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the ID of the last row inserted into the database during this connection.</summary>
        <value>The ID of the last inserted row.</value>
        <remarks>See sqlite[3]_last_insert_rowid.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Open">
      <MemberSignature Language="C#" Value="public override void Open ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Opens the database connection.</summary>
        <remarks>The <see cref="P:Mono.Data.SqliteClient.SqliteConnection.ConnectionString" /> must be set before calling this method.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ServerVersion">
      <MemberSignature Language="C#" Value="public override string ServerVersion { get; }" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="State">
      <MemberSignature Language="C#" Value="public override System.Data.ConnectionState State { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Data.ConnectionState</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the state of the connection.</summary>
        <value>The state of the connection.</value>
        <remarks>None.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="System.ICloneable.Clone">
      <MemberSignature Language="C#" Value="object ICloneable.Clone ();" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Version">
      <MemberSignature Language="C#" Value="public int Version { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the database version connected to.</summary>
        <value>2 or 3</value>
        <remarks>After the connection has been opened, this property returns the version of the database actually connected to.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
  </Members>
</Type>
