<?xml version="1.0" encoding="utf-8"?>
<Type Name="DbParameter" FullName="System.Data.Common.DbParameter">
  <TypeSignature Language="C#" Value="public abstract class DbParameter : MarshalByRefObject, System.Data.IDbDataParameter" />
  <AssemblyInfo>
    <AssemblyName>System.Data</AssemblyName>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.MarshalByRefObject</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.Data.IDbDataParameter</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <remarks>To be added.</remarks>
    <since version=".NET 2.0" />
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Represents a parameter to a <see cref="T:System.Data.Common.DbCommand" /> and optionally, its mapping to a <see cref="T:System.Data.DataSet" /> column. For more information on parameters, see <format type="text/html"><a href="537d8a2c-d40b-4000-83eb-bc1fcc93f707">Configuring Parameters and Parameter Data Types (ADO.NET)</a></format>.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected DbParameter ();" />
      <MemberType>Constructor</MemberType>
      <Parameters />
      <Docs>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Data.Common.DbParameter" /> class.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="DbType">
      <MemberSignature Language="C#" Value="public abstract System.Data.DbType DbType { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.RefreshProperties(System.ComponentModel.RefreshProperties.All)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Data.DbType</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the <see cref="T:System.Data.DbType" /> of the parameter.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Direction">
      <MemberSignature Language="C#" Value="public abstract System.Data.ParameterDirection Direction { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.RefreshProperties(System.ComponentModel.RefreshProperties.All)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(System.Data.ParameterDirection.Input)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Data.ParameterDirection</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If the <see cref="T:System.Data.ParameterDirection" /> is output, and execution of the associated <see cref="T:System.Data.Common.DbCommand" /> does not return a value, the <see cref="T:System.Data.Common.DbParameter" /> contains a null value.</para>
          <para>Output, InputOut, and ReturnValue parameters returned by calling <see cref="M:System.Data.Common.DbCommand.ExecuteReader" /> cannot be accessed until you call <see cref="M:System.Data.Common.DbDataReader.Close" /> or <see cref="M:System.Data.Common.DbDataReader.Dispose" /> on the <see cref="T:System.Data.Common.DbDataReader" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value that indicates whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="IsNullable">
      <MemberSignature Language="C#" Value="public abstract bool IsNullable { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.DesignOnly(true)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Null values are handled using the <see cref="T:System.DBNull" /> class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value that indicates whether the parameter accepts null values.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ParameterName">
      <MemberSignature Language="C#" Value="public abstract string ParameterName { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue("")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the name of the <see cref="T:System.Data.Common.DbParameter" />.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ResetDbType">
      <MemberSignature Language="C#" Value="public abstract void ResetDbType ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Resets the DbType property to its original settings.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="Size">
      <MemberSignature Language="C#" Value="public abstract int Size { set; get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Data.Common.DbParameter.Size" /> property is used for binary and string types.</para>
          <para>For nonstring data types and ANSI string data, the <see cref="P:System.Data.Common.DbParameter.Size" /> property refers to the number of bytes. For Unicode string data, <see cref="P:System.Data.Common.DbParameter.Size" /> refers to the number of characters. The count for strings does not include the terminating character.</para>
          <para>For variable-length data types, <see cref="P:System.Data.Common.DbParameter.Size" /> describes the maximum amount of data to transmit to the server. For example, for a Unicode string value, <see cref="P:System.Data.Common.DbParameter.Size" /> could be used to limit the amount of data sent to the server to the first one hundred characters.</para>
          <para>For bidirectional and output parameters, and return values, you must set the value of <see cref="P:System.Data.Common.DbParameter.Size" />. This is not required for input parameters, and if not explicitly set, the value is inferred from the actual size of the specified parameter when a parameterized statement is executed.</para>
          <para>The <see cref="P:System.Data.Common.DbParameter.DbType" /> and <see cref="P:System.Data.Common.DbParameter.Size" /> properties of a parameter can be inferred by setting <see cref="P:System.Data.Common.DbParameter.Value" />. Therefore, you are not required to specify them. However, they are not exposed in <see cref="T:System.Data.Common.DbParameter" /> property settings. For example, if the size of the parameter has been inferred, <see cref="P:System.Data.Common.DbParameter.Size" /> does not contain inferred value after statement execution.</para>
          <para>For fixed length data types, the value of <see cref="P:System.Data.Common.DbParameter.Size" /> is ignored. It can be retrieved for informational purposes, and returns the maximum amount of bytes the provider uses when transmitting the value of the parameter to the server.</para>
          <para>If the size of the value supplied for a <see cref="T:System.Data.Common.DbParameter" /> exceeds the specified <see cref="P:System.Data.Common.DbParameter.Size" />, the <see cref="P:System.Data.Common.DbParameter.Value" /> of the <see cref="T:System.Data.Common.DbParameter" /> will contain the specified value, truncated to the Size of the <see cref="T:System.Data.Common.DbParameter" />.</para>
          <para>For parameters of type DbType.String, the value of <see cref="P:System.Data.Common.DbParameter.Size" /> is length in Unicode characters. For parameters of type DbType.Xml, <see cref="P:System.Data.Common.DbParameter.Size" /> is ignored.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the maximum size, in bytes, of the data within the column.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="SourceColumn">
      <MemberSignature Language="C#" Value="public abstract string SourceColumn { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue("")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When <see cref="P:System.Data.Common.DbParameter.SourceColumn" /> is set to anything other than an empty string, the value of the parameter is retrieved from the column with the <see cref="P:System.Data.Common.DbParameter.SourceColumn" /> name. If <see cref="P:System.Data.Common.DbParameter.Direction" /> is set to Input, the value is taken from the <see cref="T:System.Data.DataSet" />. If <see cref="P:System.Data.Common.DbParameter.Direction" /> is set to Output, the value is taken from the data source. A <see cref="P:System.Data.Common.DbParameter.Direction" /> of InputOutput is a combination of both.</para>
          <para>For more information about how to use the <see cref="P:System.Data.Common.DbParameter.SourceColumn" /> property, see <format type="text/html"><a href="f21e6aba-b76d-46ad-a83e-2ad8e0af1e12">Using Parameters with a DataAdapter</a></format> and <format type="text/html"><a href="d1bd9a8c-0e29-40e3-bda8-d89176b72fb1">Updating the Database with a DataAdapter and the DataSet</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the name of the source column mapped to the <see cref="T:System.Data.DataSet" /> and used for loading or returning the <see cref="P:System.Data.Common.DbParameter.Value" />.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="SourceColumnNullMapping">
      <MemberSignature Language="C#" Value="public abstract bool SourceColumnNullMapping { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(false)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.RefreshProperties(System.ComponentModel.RefreshProperties.All)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>
            <see cref="P:System.Data.Common.DbParameter.SourceColumnNullMapping" /> is used by the <see cref="T:System.Data.Common.DbCommandBuilder" /> to correctly generate update commands when dealing with nullable columns. Generally, use of <see cref="P:System.Data.Common.DbParameter.SourceColumnNullMapping" /> is limited to developers inheriting from <see cref="T:System.Data.Common.DbCommandBuilder" />.</para>
          <para>
            <see cref="T:System.Data.Common.DbCommandBuilder" /> uses this property to determine whether the source column is nullable, and sets this property to true if it is nullable, and false if it is not. When <see cref="T:System.Data.Common.DbCommandBuilder" /> is generating its Update statement, it examines the <see cref="P:System.Data.Common.DbParameter.SourceColumnNullMapping" /> for each parameter. If the property is true, <see cref="T:System.Data.Common.DbCommandBuilder" /> generates a WHERE clauses like the following (in this query expression, "FieldName" represents the name of the field):</para>
          <code>((@IsNull_FieldName = 1 AND FieldName IS NULL) OR 
  (FieldName = @Original_FieldName))</code>
          <para>If <see cref="P:System.Data.Common.DbParameter.SourceColumnNullMapping" /> for the field is false, <see cref="T:System.Data.Common.DbCommandBuilder" /> generates the following WHERE clause:</para>
          <code>FieldName = @OriginalFieldName</code>
          <para>In addition, @IsNull_FieldName contains 1 if the source field contains null, and 0 if it does not. This mechanism allows for a performance optimization in SQL Server, and provides for common code that works across multiple providers.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Sets or gets a value which indicates whether the source column is nullable. This allows <see cref="T:System.Data.Common.DbCommandBuilder" /> to correctly generate Update statements for nullable columns.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="SourceVersion">
      <MemberSignature Language="C#" Value="public abstract System.Data.DataRowVersion SourceVersion { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(System.Data.DataRowVersion.Current)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Data.DataRowVersion</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Used by <see cref="P:System.Data.Common.DbDataAdapter.UpdateCommand" /> during an <see cref="Overload:System.Data.Common.DbDataAdapter.Update" /> operation to determine whether the parameter value is set to Current or Original. This lets primary keys be updated. This property is set to the version of the <see cref="T:System.Data.DataRow" /> used by the DataRow.Item property, or the <see cref="M:System.Data.DataRow.GetChildRows(System.String,System.Data.DataRowVersion)" /> method of the <see cref="T:System.Data.DataRow" /> object.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the <see cref="T:System.Data.DataRowVersion" /> to use when you load <see cref="P:System.Data.Common.DbParameter.Value" />.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="System.Data.IDbDataParameter.Precision">
      <MemberSignature Language="C#" Value="byte System.Data.IDbDataParameter.Precision { set; get; }" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Data.Common.DbParameter" /> instance is cast to an <see cref="T:System.Data.IDbDataParameter" /> interface.</para>
          <para>For more information, see <see cref="P:System.Data.IDbDataParameter.Precision" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Indicates the precision of numeric parameters.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="System.Data.IDbDataParameter.Scale">
      <MemberSignature Language="C#" Value="byte System.Data.IDbDataParameter.Scale { set; get; }" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Data.Common.DbParameter" /> instance is cast to an <see cref="T:System.Data.IDbDataParameter" /> interface.</para>
          <para>For more information, see <see cref="P:System.Data.IDbDataParameter.Scale" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>For a description of this member, see <see cref="P:System.Data.IDbDataParameter.Scale" />.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Value">
      <MemberSignature Language="C#" Value="public abstract object Value { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.RefreshProperties(System.ComponentModel.RefreshProperties.All)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(null)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>For input parameters, the value is bound to the <see cref="T:System.Data.Common.DbCommand" /> that is sent to the server. For output and return value parameters, the value is set on completion of the <see cref="T:System.Data.Common.DbCommand" /> and after the <see cref="T:System.Data.Common.DbDataReader" /> is closed.</para>
          <para>When you send a null parameter value to the server, you must specify <see cref="T:System.DBNull" />, not null. The null value in the system is an empty object that has no value. <see cref="T:System.DBNull" /> is used to represent null values.</para>
          <para>If the application specifies the database type, the bound value is converted to that type when the provider sends the data to the server. The provider tries to convert any type of value if it supports the <see cref="T:System.IConvertible" /> interface. Conversion errors may result if the specified type is not compatible with the value.</para>
          <para>The <see cref="P:System.Data.Common.DbParameter.DbType" /> property can be inferred by setting the Value.</para>
          <para>The <see cref="P:System.Data.Common.DbParameter.Value" /> property is overwritten by DbDataAdapter.Update.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the value of the parameter.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
  </Members>
</Type>