| Oracle® Data Provider for .NET Developer's Guide Release 9.2.0.4 Part Number B10961-01 |
|
Oracle.DataAccess.Client Namespace, 15 of 30
An OracleParameter object represents a parameter for an OracleCommand or a DataSet column.
Object
MarshalByRefObject
OracleParameter
// C# public sealed class OracleParameter : MarshalByRefObject, IDBDataParameter, IDataParameter, IDisposable, ICloneable
All public static methods are thread-safe, although instance methods do not guarantee thread safety.
ArgumentException - The type binding is invalid.
// C# ... OracleParameter [] prm = new OracleParameter[3]; // Create OracleParameter objects through OracleParameterCollection prm[0] = cmd.Parameters.Add("paramEmpno", OracleDbType.Decimal, 1234, ParameterDirection.Input); prm[1] = cmd.Parameters.Add("paramEname", OracleDbType.Varchar2, "Client", ParameterDirection.Input); prm[2] = cmd.Parameters.Add("paramDeptNo", OracleDbType.Decimal, 10, ParameterDirection.Input); cmd.CommandText = "insert into emp(empno, ename, deptno) values(:1, :2, :3)"; cmd.CommandType = CommandType.CommandText; cmd.ExecuteNonQuery(); ...
Namespace: Oracle.DataAccess.Client
Assembly: Oracle.DataAccess.dll
OracleParameter members are listed in the following tables:
OracleParameter constructors are listed in Table 4-85.
| Constructor | Description |
|---|---|
|
Instantiates a new instance of |
OracleParameter static methods are listed in Table 4-86.
| Methods | Description |
|---|---|
|
|
Inherited from |
OracleParameter properties are listed in Table 4-87.
OracleParameter public methods are listed in Table 4-88.
OracleParameter constructors instantiate new instances of the OracleParameter class.
This constructor instantiates a new instance of OracleParameter class.
This constructor instantiates a new instance of OracleParameter class using the supplied parameter name and Oracle datatype.
This constructor instantiates a new instance of the OracleParameter class using the supplied parameter name and parameter value.
This constructor instantiates a new instance of the OracleParameter class using the supplied parameter name, datatype, and parameter direction.
This constructor instantiates a new instance of the OracleParameter class using the supplied parameter name, datatype, value, and direction.
This constructor instantiates a new instance of the OracleParameter class using the supplied parameter name, datatype, and size.
This constructor instantiates a new instance of the OracleParameter class using the supplied parameter name, datatype, size, and source column.
This constructor instantiates a new instance of the OracleParameter class using the supplied parameter name, datatype, size, direction, null indicator, precision, scale, source column, source version and parameter value.
This constructor instantiates a new instance of the OracleParameter class using the supplied parameter name, datatype, size, value, and direction.
This constructor instantiates a new instance of OracleParameter class.
// C# public OracleParameter();
Default Values:
DbType - String
ParameterDirection - Input
isNullable - true
offset - 0
OracleDbType - Varchar2
ParameterAlias - Empty string
ParameterName - Empty string
Precision - 0
Size - 0
SourceColumn - Empty string
SourceVersion - Current
ArrayBindStatus - Success
Value - null
This constructor instantiates a new instance of OracleParameter class using the supplied parameter name and Oracle datatype.
// C# public OracleParameter(string parameterName, OracleDbType oraType);
Changing the DbType implicitly changes the OracleDbType.
Unless explicitly set in the constructor, all the properties have the default values.
Default Values:
DbType - String
ParameterDirection - Input
isNullable - true
offset - 0
OracleDbType - Varchar2
ParameterAlias - Empty string
ParameterName - Empty string
Precision - 0
Size - 0
SourceColumn - Empty string
SourceVersion - Current
ArrayBindStatus - Success
Value - null
This constructor instantiates a new instance of the OracleParameter class using the supplied parameter name and parameter value.
// C# public OracleParameter(string parameterName, object obj);
Unless explicitly set in the constructor, all the properties have the default values.
Default Values:
DbType - String
ParameterDirection - Input
isNullable - true
offset - 0
OracleDbType - Varchar2
ParameterAlias - Empty string
ParameterName - Empty string
Precision - 0
Size - 0
SourceColumn - Empty string
SourceVersion - Current
ArrayBindStatus - Success
Value - null
This constructor instantiates a new instance of the OracleParameter class using the supplied parameter name, datatype, and parameter direction.
// C# public OracleParameter(string parameterName, OracleDbType type, ParameterDirection direction);
parameterName
Specifies the parameter name.
type
Specifies the datatype of the OracleParameter.
direction
Specifies the direction of the OracleParameter.
Unless explicitly set in the constructor, all the properties have the default values.
Default Values:
DbType - String
ParameterDirection - Input
isNullable - true
offset - 0
OracleDbType - Varchar2
ParameterAlias - Empty string
ParameterName - Empty string
Precision - 0
Size - 0
SourceColumn - Empty string
SourceVersion - Current
ArrayBindStatus - Success
Value - null
This constructor instantiates a new instance of the OracleParameter class using the supplied parameter name, datatype, value, and direction.
// C# public OracleParameter(string parameterName, OracleDbType type, object obj, ParameterDirection direction);
parameterName
Specifies the parameter name.
type
Specifies the datatype of the OracleParameter.
obj
Specifies the value of the OracleParameter.
direction
Specifies one of the ParameterDirection values.
Changing the DbType implicitly changes the OracleDbType.
Unless explicitly set in the constructor, all the properties have the default values.
Default Values:
DbType - String
ParameterDirection - Input
isNullable - true
offset - 0
OracleDbType - Varchar2
ParameterAlias - Empty string
ParameterName - Empty string
Precision - 0
Size - 0
SourceColumn - Empty string
SourceVersion - Current
ArrayBindStatus - Success
Value - null
This constructor instantiates a new instance of the OracleParameter class using the supplied parameter name, datatype, and size.
// C# public OracleParameter(string parameterName, OracleDbType type, int size);
parameterName
Specifies the parameter name.
type
Specifies the datatype of the OracleParameter.
size
Specifies the size of the OracleParameter value.
Unless explicitly set in the constructor, all the properties have the default values.
Default Values:
DbType - String
ParameterDirection - Input
isNullable - true
offset - 0
OracleDbType - Varchar2
ParameterAlias - Empty string
ParameterName - Empty string
Precision - 0
Size - 0
SourceColumn - Empty string
SourceVersion - Current
ArrayBindStatus - Success
Value - null
This constructor instantiates a new instance of the OracleParameter class using the supplied parameter name, datatype, size, and source column.
// C# public OracleParameter(string parameterName, OracleDbType type, int size, string srcColumn);
parameterName
Specifies the parameter name.
type
Specifies the datatype of the OracleParameter.
size
Specifies the size of the OracleParameter value.
srcColumn
Specifies the name of the source column.
Unless explicitly set in the constructor, all the properties have the default values.
Default Values:
DbType - String
ParameterDirection - Input
isNullable - true
offset - 0
OracleDbType - Varchar2
ParameterAlias - Empty string
ParameterName - Empty string
Precision - 0
Size - 0
SourceColumn - Empty string
SourceVersion - Current
ArrayBindStatus - Success
Value - null
This constructor instantiates a new instance of the OracleParameter class using the supplied parameter name, datatype, size, direction, null indicator, precision, scale, source column, source version and parameter value.
// C# public OracleParameter(string parameterName, OracleDbType oraType, int size, ParameterDirection direction, bool isNullable, byte precision, byte scale, string srcColumn, DataRowVersion srcVersion, object obj);
parameterName
Specifies the parameter name.
oraType
Specifies the datatype of the OracleParameter.
size
Specifies the size of the OracleParameter value.
direction
Specifies ParameterDirection value.
isNullable
Specifies if the parameter value can be null.
precision
Specifies the precision of the parameter value.
scale
Specifies the scale of the parameter value.
srcColumn
Specifies the name of the source column.
srcVersion
Specifies one of the DataRowVersion values.
obj
Specifies the parameter value.
ArgumentException - The supplied value does not belong to the type of Value property in any of the OracleTypes.
Unless explicitly set in the constructor, all the properties have the default values.
Default Values:
DbType - String
ParameterDirection - Input
isNullable - true
offset - 0
OracleDbType - Varchar2
ParameterAlias - Empty string
ParameterName - Empty string
Precision - 0
Size - 0
SourceColumn - Empty string
SourceVersion - Current
ArrayBindStatus - Success
Value - null
This constructor instantiates a new instance of the OracleParameter class using the supplied parameter name, datatype, size, value, and direction.
// C# public OracleParameter(string parameterName, OracleDbType type, int size, object obj, ParameterDirection direction);
parameterName
Specifies the parameter name.
type
Specifies the datatype of the OracleParameter.
size
Specifies the size of the OracleParameter value.
obj
Specifies the value of the OracleParameter.
direction
Specifies one of the ParameterDirection values.
Changing the DbType implicitly changes the OracleDbType.
Unless explicitly set in the constructor, all the properties have the default values.
Default Values:
DbType - String
ParameterDirection - Input
isNullable - true
offset - 0
OracleDbType - Varchar2
ParameterAlias - Empty string
ParameterName - Empty string
Precision - 0
Size - 0
SourceColumn - Empty string
SourceVersion - Current
ArrayBindStatus - Success
Value - null
OracleParameter static methods are listed in Table 4-89.
| Methods | Description |
|---|---|
|
|
Inherited from |
OracleParameter properties are listed in Table 4-90.
This property specifies the input or output size of elements of Value property before or after an Array Bind or PL/SQL Associative Array execution.
// C# public int[] ArrayBindSize {get; set; }
An array of int values specifying the size.
Default = null.
This property is only used for variable size element types for an Array Bind or PL/SQL Associative Array. For fixed size element types, this property is ignored.
Each element in the ArrayBindSize corresponds to the bind size of an element in the Value property. Before execution, ArrayBindSize specifies the maximum size of each element to be bound in the Value property. After execution, it contains the size of each element returned in the Value property.
For binding a PL/SQL Associative Array, whose elements are of a variable-length element type, as an InputOutput, Out, or ReturnValue parameter, this property must be set, and the number of elements in ArrayBindSize must be equal to or greater than the number of elements in Value property.
// C# ... OracleParameter Param = new OracleParameter("name", OracleDbType.Varchar2); Param.ArrayBindSize = new Int32[3]; // These sizes indicate the maximum size of the elements in parameter Value // property. Param.ArrayBindSize[0] = 100; Param.ArrayBindSize[1] = 300; Param.ArrayBindSize[2] = 200; ...
|
See Also:
|
This property specifies the input or output status of each element in the Value property before or after an Array Bind or PL/SQL Associative Array execution.
// C# public OracleParameterStatus[] ArrayBindStatus { get; set; }
An array of OracleParameterStatus enumerated values.
ArgumentOutofRangeException - The Status value specified is invalid.
Default = null.
ArrayBindStatus is used for Array Bind and PL/SQL Associative Array execution only.
Before execution, ArrayBindStatus indicates the bind status of each element in the Value property. After execution, it contains the execution status of each element in the Value property.
|
See Also:
|
This property specifies whether the OracleParameter represents a collection, and if so, specifies the collection type.
// C# public OracleCollectionType CollectionType { get; set; }
An OracleCollectionType enumerated value.
ArgumentException - The OracleCollectionType value specified is invalid.
Default = OracleCollectionType.None.
If OracleParameter is used to bind a PL/SQL Associative Array, then CollectionType must be set to OracleCollectionType.PLSQLAssociativeArray.
This property specifies the datatype of the parameter using the Data.DbType enumeration type.
// C# public DbType DbType {get; set; }
A DbType enumerated value.
IDataParameter
ArgumentException - The DbType value specified is invalid.
Default = DbType.String
DbType is the datatype of each element in the array if the OracleParameter object is used for Array Bind or PL/SQL Associative Array Bind execution.
Due to the link between DbType and OracleDbType properties, if the DbType property is set, the OracleDbType property is inferred from DbType.
This property specifies whether the parameter is input-only, output-only, bi-directional, or a stored function return value parameter.
// C# public ParameterDirection Direction { get; set; }
A ParameterDirection enumerated value.
IDataParameter
ArgumentOutOfRangeException - The ParameterDirection value specified is invalid.
Default = ParameterDirection.Input
Possible values: Input, InputOutput, Output, and ReturnValue.
This property specifies the offset to the Value property.
// C# public int Offset { get; set; }
An int that specifies the offset.
ArgumentOutOfRangeException - The Offset value specified is invalid.
Default = 0
For Array Bind and PL/SQL Associative Array Bind, Offset applies to every element in the Value property.
The Offset property is used for binary and string data types. The Offset property represents the number of bytes for binary types and the number of characters for strings. The count for strings does not include the terminating character if a null is referenced. The Offset property is used by parameters of the following types:
OracleDbType.BFile
OracleDbType.Blob
OracleDbType.LongRaw
OracleDbType.Raw
OracleDbType.Char
OracleDbType.Clob
OracleDbType.NClob
OracleDbType.NChar
OracleDbType.NVarchar2
OracleDbType.Varchar2
This property specifies the Oracle datatype.
// C# public OracleDbType OracleDbType { get; set; }
An OracleDbType enumerated value.
Default = OracleDbType.Varchar2
If the OracleParameter object is used for Array Bind or PL/SQL Associative Array Bind execution, OracleDbType is the datatype of each element in the array.
The OracleDbType property and DbType property are linked. Therefore, setting the OracleDbType property changes the DbType property to a supporting DbType.
This property specifies the name of the parameter.
// C# public string ParameterName { get; set; }
String
IDataParameter
Default = null
Oracle supports ParameterName up to 30 characters.
This property specifies the maximum number of digits used to represent the Value property.
// C# Public byte Precision { get; set; }
byte
Default = 0
The Precision property is used by parameters of type OracleDbType.Decimal.
Oracle supports Precision range from 0 to 38.
For Array Bind and PL/SQL Associative Array Bind, Precision applies to each element in the Value property.
This property specifies the number of decimal places to which Value property is resolved.
// C# public byte Scale { get; set; }
byte
Default = 0.
Scale is used by parameters of type OracleDbType.Decimal.
Oracle supports Scale between -84 and 127.
For Array Bind and PL/SQL Associative Array Bind, Scale applies to each element in the Value property.
This property specifies the maximum size, in bytes or characters, of the data transmitted to or from the server.
For PL/SQL Associative Array Bind, Size specifies the maximum number of elements in PL/SQL Associative Array.
// C# public int Size { get; set;}
int
ArgumentOutOfRangeException - The Size value specified is invalid.
InvalidOperationException - The Size = 0 when the OracleParameter object is used to bind a PL/SQL Associative Array.
The default value is 0.
Before execution, this property specifies the maximum size to be bound in the Value property. After execution, it contains the size of the type in the Value property.
Size is used for parameters of the following types:
OracleDbType.Blob
OracleDbType.Char
OracleDbType.Clob
OracleDbType.LongRaw
OracleDbType.NChar
OracleDbType.NClob
OracleDbType.NVarchar2
OracleDbType.Raw
OracleDbType.Varchar2
The value of Size is handled as follows:
Size is in number of characters and for binary data, it is in number of bytes.
If the Size is not explicitly set, it is inferred from the actual size of the specified parameter value when binding.
If the OracleParameter object is used to bind a PL/SQL Associative Array, Size specifies the maximum number of elements in the PL/SQL Associative Array. Before the execution, this property specifies the maximum number of elements in the PL/SQL Associative Array. After the execution, it specifies the current number of elements returned in the PL/SQL Associative Array. For Output and InputOutput parameters and return values, Size specifies the maximum number of elements in the PL/SQL Associative Array.
ODP.NET does not support binding an empty PL/SQL Associative Array. Therefore, Size cannot be set to 0 when the OracleParameter object is used to bind a PL/SQL Associative Array.
This property specifies the name of the DataTable Column of the DataSet.
// C# public string SourceColumn { get; set; }
A string.
IDataParameter
Default = empty string
This property specifies the DataRowVersion value to use when loading the Value property of the parameter.
// C# public DataRowVersion SourceVersion { get; set; }
DataRowVersion
IDataParameter
ArgumentOutOfRangeException - The DataRowVersion value specified is invalid.
Default = DataRowVersion.Current
SourceVersion is used by the OracleDataAdapter.UpdateCommand() during the OracleDataAdapter.Update to determine whether the original or current value is used for a parameter value. This allows primary keys to be updated. This property is ignored by the OracleDataAdapter.InsertCommand() and the OracleDataAdapter.DeleteCommand().
This property indicates the status of the execution related to the data in the Value property.
// C# public OracleParameterStatus Status { get; set; }
An OracleParameterStatus enumerated value.
ArgumentOutOfRangeException - The Status value specified is invalid.
Default = OracleParameterStatus.Success
Before execution, this property indicates the bind status related to the Value property. After execution, it returns the status of the execution.
Status indicates whether:
NULL is fetched from a column.
Value was not big enough to hold the data.
NULL is to be inserted into a database column; then Value is ignored, and a NULL is inserted into a database column.
This property is ignored for Array Bind and PL/SQL Associative Array Bind. Instead, ArrayBindStatus property is used.
This property specifies the value of the Parameter.
// C# public object Value { get; set; }
An object.
IDataParameter
ArgumentException - The Value property specified is invalid.
InvalidArgumentException - The Value property specified is invalid.
Default = null
If the OracleParameter object is used for Array Bind or PL/SQL Associative Array, Value is an array of parameter values.
The Value property can be overwritten by OracleDataAdapter.Update().
The provider attempts to convert any type of value if it supports the IConvertible interface. Conversion errors occur if the specified type is not compatible with the value.
When sending a null parameter value to the database, the user must specify DBNull, not null. The null value in the system is an empty object that has no value. DBNull is used to represent null values. The user can also specify a null value by setting Status to OracleParameterStatus.NullValue. In this case, the provider sends a null value to the database.
If neither OracleDbType nor DbType are set, their values can be inferred by Value.
For input parameters the value is:
OracleCommand that is sent to the server.
OracleDbType or DbType when the provider sends the data to the server.
For output parameters the value is:
OracleCommand (true for return value parameters also).
OracleDbType or DbType.
When array binding is used with:
Value should be set to an array of values. OracleCommand.ArrayBindCount should be set to a value that is greater than zero to indicate the number of elements to be bound.
The number of elements in the array should be equal to the OracleCommand.ArrayBindCount property; otherwise, their minimum value is used to bind the elements in the array.
OracleCommand.ArrayBindCount should be set to a value that is greater than zero to indicate the number of elements to be retrieved (for SELECT statements).
When PL/SQL Associative Array binding is used with:
CollectionType should be set to OracleCollection.PLSQLAssociativeArray. Size should be set to specify the possible maximum number of array elements in the PL/SQL Associative Array. If Size is smaller than the number of elements in Value, then Size specifies the number of elements in the Value property to be bound.
CollectionType should be set to OracleCollection.PLSQLAssociativeArray. Size should be set to specify the maximum number of array elements in PL/SQL Associative Array.
Each parameter should have a value. To bind a parameter with a null value, set Value to DBNull.Value, or set Status to OracleParameterStatus. NullInsert.
OracleParameter public methods are listed in Table 4-91.
This method creates a shallow copy of an OracleParameter object.
// C# public object Clone();
An OracleParameter object.
ICloneable
The cloned object has the same property values as that of the object being cloned.
// C# ... //Need a proper casting for the return value when cloned OracleParameter param_cloned = (OracleParameter) param.Clone(); ...
This method releases resources allocated for an OracleParameter object.
// C# public void Dispose();
IDisposable
|
|
![]() Copyright © 2002, 2003 Oracle Corporation. All Rights Reserved. |
|