System.Data [00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00] 1.0.3300.0 1.0.5000.0 2.0.0.0 Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details. System.Data.Common.DbParameter System.ICloneable System.ComponentModel.TypeConverter("System.Data.OleDb.OleDbParameter+OleDbParameterConverter, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")

The OLE DB.NET Framework Data Provider uses positional parameters that are marked with a question mark (?) instead of named parameters.

When querying an Oracle database using the Microsoft OLE DB Provider for Oracle (MSDAORA) and the OLE DB.NET Framework Data Provider, using the LIKE clause to query values in fixed-length fields may not return all expected matches. The reason is that when Oracle matches values for fixed-length fields in a LIKE clause, it matches the entire length of the string, including any padding trailing spaces. For example, if a table in an Oracle database contains a field named "Field1" that is defined as char(3), and you enter the value "a" into a row of that table, the following code does not return the row.

`Dim queryString As String = "SELECT * FROM Table1 WHERE Field1 LIKE ?" Dim command As OleDbCommand = New OleDbCommand(queryString, connection) command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a" Dim reader As OleDbDataReader = command.ExecuteReader()` `string queryString = "SELECT * FROM Table1 WHERE Field1 LIKE ?"; OleDbCommand command = new OleDbCommand(queryString, connection); command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a"; OleDbDataReader reader = command.ExecuteReader();`

This is because Oracle stores the column value as "a " (padding "a", with trailing spaces, to the fixed field length of 3), which Oracle does not treat as a match for the parameter value of "a" in the case of a LIKE comparison of fixed-length fields.

To resolve this problem, append a percentage ("%") wildcard character to the parameter value ("a%"), or use an SQL = comparison instead.

Represents a parameter to an and optionally its mapping to a column. This class cannot be inherited.

- Constructor
  To be added

  Initializes a new instance of the class.

  1.0.5000.0
  2.0.0.0
- Constructor

  The data type, and if appropriate, and are inferred from the value of the parameter.

  Initializes a new instance of the class that uses the parameter name and data type.

  The name of the parameter to map.
  One of the values.
  1.0.5000.0
  2.0.0.0
- Constructor

  Use caution when you are using this overload of the constructor to specify integer parameter values. Because this overload takes a of type , you must convert the integral value to an type when the value is zero, as the following C# example demonstrates.

  Parameter = new OleDbParameter("@pname", Convert.ToInt32(0));

  If you do not perform this conversion, the compiler assumes that you are trying to call the constructor overload.

  Initializes a new instance of the class that uses the parameter name and the value of the new .

  The name of the parameter to map.
  The value of the new object.
  1.0.5000.0
  2.0.0.0
- Constructor

  The is inferred from the value of the parameter if it is not explicitly set in the parameter.

  Initializes a new instance of the class that uses the parameter name, data type, and length.

  The name of the parameter to map.
  One of the values.
  The length of the parameter.
  1.0.5000.0
  2.0.0.0
- Constructor

  The is inferred from the value of the parameter if it is not explicitly set in the parameter.

  Initializes a new instance of the class that uses the parameter name, data type, length, and source column name.

  The name of the parameter to map.
  One of the values.
  The length of the parameter.
  The name of the source column.
  1.0.5000.0
  2.0.0.0
- Constructor

  The and are inferred from the value of the parameter if they are not explicitly set in the and parameters.

  Initializes a new instance of the class that uses the parameter name, data type, length, source column name, parameter direction, numeric precision, and other properties.

  The name of the parameter.
  One of the values.
  The length of the parameter.
  One of the values.
  true if the value of the field can be null; otherwise false.
  The total number of digits to the left and right of the decimal point to which is resolved.
  The total number of decimal places to which is resolved.
  The name of the source column.
  One of the values.
  An that is the value of the .
  1.0.5000.0
  2.0.0.0
  System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)
- Constructor
  2.0.0.0
  System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)

  The and are inferred from the value of the parameter if they are not explicitly set in the and parameters.

  Initializes a new instance of the class that uses the parameter name, data type, length, source column name, parameter direction, numeric precision, and other properties.

  The name of the parameter.
  One of the values.
  The length of the parameter.
  One of the values.
  The total number of digits to the left and right of the decimal point to which is resolved.
  The total number of decimal places to which is resolved.
  The name of the source column.
  One of the values.
  true if the source column is nullable; false if it is not.
  An that is the value of the .
- Property
  System.Data.DbType To be added: an object of type 'Data.DbType'

  The and are linked. Therefore, setting the changes the to a supporting .

  For a list of the supported data types, see the appropriate member. For more information, see Using Parameters with a DataAdapter.

  Gets or sets the of the parameter.

  1.0.5000.0
  2.0.0.0
- Property
  System.Data.ParameterDirection To be added: an object of type 'Data.ParameterDirection'

  If the is output, and execution of the associated does not return a value, the contains a null value.

  Output, InputOut, and ReturnValue parameters returned by calling cannot be accessed until you call or Dispose on the .

  Gets or sets a value that indicates whether the parameter is input-only, output-only, bidirectional, or a stored procedure return-value parameter.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.RefreshProperties(System.ComponentModel.RefreshProperties.All)
- Property
  System.Boolean To be added: an object of type 'bool'

  Null values are handled using the class.

  Gets or sets a value that indicates whether the parameter accepts null values.

  1.0.5000.0
  2.0.0.0
- Property
  System.Data.OleDb.OleDbType To be added: an object of type 'OleDbType'

  The and are linked. Therefore, setting the changes the to a supporting .

  For a list of the supported data types, see the appropriate member. For more information, see Using Parameters with a DataAdapter.

  Gets or sets the of the parameter.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.RefreshProperties(System.ComponentModel.RefreshProperties.All)
  System.Data.Common.DbProviderSpecificTypeProperty(true)
- Property
  System.String To be added: an object of type 'string'

  The OLE DB .NET Provider uses positional parameters that are marked with a question mark (?) instead of named parameters.

  Gets or sets the name of the .

  1.0.5000.0
  2.0.0.0
- Property
  System.Byte To be added: an object of type 'byte'

  The property is only used for decimal and numeric input parameters.

  The property should be set only for Decimal and Numeric parameters prior to calling the method of the .

  Setting this property to a value other than the value in the database depends on the implementation of the data provider and may return an error code, truncate, or round data.

  The Precision property only affects parameters whose is Decimal, Numeric, or VarNumeric. For other data types, Precision is ignored.

  Use of this property to coerce data passed to the database is not supported. To round, truncate, or otherwise coerce data before passing it to the database, use the class that is part of the System namespace prior to assigning a value to the parameter's Value property.

  .NET Framework data providers that are included with the .NET Framework version 1.0 do not verify the or of parameter values. This can cause truncated data to be inserted at the data source. If you are using .NET Framework version 1.0, validate the and of values before setting the parameter value. values that exceed the parameter scale are still truncated.

  Gets or sets the maximum number of digits used to represent the property.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.DefaultValue(0)
- Method
  2.0.0.0
  System.Void

  When executing a command that includes parameter values, code can either set the type of a parameter explicitly, or the parameter can infer its type from its value. Calling this method resets the parameter so that it can again infer its type from the value passed in the parameter. Calling this method affects both the and properties of the .

  Resets the type associated with this .

- Method
  2.0.0.0
  System.Void

  When executing a command that includes parameter values, code can either set the type of a parameter explicitly, or the parameter can infer its type from its value. Calling this method resets the parameter so that it can again infer its type from the value passed in the parameter. Calling this method affects both the and properties of the .

  Resets the type associated with this .

- Property
  System.Byte To be added: an object of type 'byte'

  The property is only used for decimal and numeric input parameters before calling the method of the and to specify numeric output parameters.

  Setting this property to a value other than the value in the database depends on the implementation of the data provider and may return an error code, truncate, or round data.

  When using SQL Server Native Client 10 (or later), to bind a parameter whose type is Decimal, Numeric, VarNumeric, DBDate, or DBTimeStamp, you must manually specify an appropriate scale value.

  Use of this property to coerce data passed to the database is not supported. To round, truncate, or otherwise coerce data before passing it to the database, use the class that is part of the System namespace prior to assigning a value to the parameter's Value property.

  .NET Framework data providers that are included with the .NET Framework version 1.0 do not verify the or of parameter values. This can cause truncated data to be inserted at the data source. If you are using .NET Framework version 1.0, validate the and of values before setting the parameter value. values that exceed the parameter scale are still truncated.

  Gets or sets the number of decimal places to which is resolved.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.DefaultValue(0)
- Property
  System.Int32 To be added: an object of type 'int'

  The property is used for binary and string types.

  For nonstring data types and ANSI string data, the property refers to the number of bytes. For Unicode string data, refers to the number of characters. The count for strings does not include the terminating character.

  For variable-length data types, describes the maximum amount of data to transmit to the server. For example, for a Unicode string value, could be used to limit the amount of data sent to the server to the first 100 characters.

  For bidirectional and output parameters, and return values, you must set the value of . This is not required for input parameters, and if not explicitly set, the value of is inferred from the actual size of the specified parameter when a parameterized statement is executed.

  The , , and properties of a parameter can be inferred by setting . Therefore, you are not required to specify them. However, they are not exposed in property settings. For example, if the size of the parameter has been inferred, does not contain the inferred value after statement execution.

  For fixed-length data types, the value of 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.

  If the size of the value supplied for an exceeds the specified , the of the contains the specified value, truncated to the size of the .

  Gets or sets the maximum size, in bytes, of the data within the column.

  1.0.5000.0
  2.0.0.0
- Property
  System.String To be added: an object of type 'string'

  When is set to anything other than an empty string, the value of the parameter is retrieved from the column with the name. If is set to Input, the value is taken from the . If is set to Output, the value is taken from the data source. A of InputOutput is a combination of both.

  For more information about how to use the property, see Using Parameters with a DataAdapter and Updating the Database with a DataAdapter and the DataSet.

  Gets or sets the name of the source column mapped to the and used for loading or returning the .

  1.0.5000.0
  2.0.0.0
- Property
  2.0.0.0
  System.Boolean To be added.

  is used by the to correctly generate update commands when dealing with nullable columns. Generally, use of is limited to developers inheriting from .

  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 is generating its Update statement, it examines the for each parameter. If the property is true, generates a WHERE clauses like the following (in this query expression, "FieldName" represents the name of the field):

  `((@IsNull_FieldName = 1 AND FieldName IS NULL) OR (FieldName = @Original_FieldName))`

  If for the field is false, generates the following WHERE clause:

  `FieldName = @OriginalFieldName`

  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.

  Sets or gets a value which indicates whether the source column is nullable. This allows to correctly generate Update statements for nullable columns.

- Property
  System.Data.DataRowVersion To be added: an object of type 'Data.DataRowVersion'

  Used by during an 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 used by the property, or the method of the object.

  Gets or sets the to use when you load .

  1.0.5000.0
  2.0.0.0
- Method
  1.0.5000.0
  2.0.0.0
  System.Object

  This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface.

  For a description of this member, see .

  A new that is a copy of this instance.

- Method
  System.String To be added

  Gets a string that contains the .

  A string that contains the .

  1.0.5000.0
  2.0.0.0
- Property
  System.Object To be added: an object of type 'object'

  For input parameters, the value is bound to the that is sent to the server. For output and return value parameters, the value is set on completion of the and after the is closed.

  When you send a null parameter value to the server, you must specify , not null. The null value in the system is an empty object that has no value. is used to represent null values.

  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 interface. Conversion errors may result if the specified type is not compatible with the value.

  Both the and properties can be inferred by setting the Value.

  The property is overwritten by the Update method of .

  Gets or sets the value of the parameter.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.TypeConverter(typeof(System.ComponentModel.StringConverter))
  System.ComponentModel.RefreshProperties(System.ComponentModel.RefreshProperties.All)