OracleParameter Class
An OracleParameter
object represents a parameter for an OracleCommand
or a DataSet
column.
Class Inheritance
System.Object
System.MarshalByRefObject
System.Data.Common.DbParameter
Oracle.DataAccess.Client.OracleParameter
Declaration
// C# public sealed class OracleParameter : DbParameter, IDisposable, ICloneable
Requirements
Provider | ODP.NET, Unmanaged Driver | ODP.NET, Managed Driver | ODP.NET Core |
---|---|---|---|
Assembly |
|
|
|
Namespace |
|
|
|
.NET Framework |
- |
||
.NET (Core) |
- |
- |
Thread Safety
All public static methods are thread-safe, although instance methods do not guarantee thread safety.
Exceptions
ArgumentException
- The type binding is invalid.
Binding Vector Parameters
The following input Vector parameter data types can be bound as various OracleDbType
and OracleDbTypeEx
types:
Input Type | OracleDbType Binding Type |
---|---|
.NET numeric array |
|
.NET byte array |
|
.NET string |
|
OracleString |
|
Example
// C# using System; using System.Data; using Oracle.DataAccess.Client; using Oracle.DataAccess.Types; class OracleParameterSample { static void Main() { string constr = "User Id=scott;Password=tiger;Data Source=oracle"; OracleConnection con = new OracleConnection(constr); con.Open(); OracleParameter[] prm = new OracleParameter[3]; // Create OracleParameter objects through OracleParameterCollection OracleCommand cmd = con.CreateCommand(); cmd.CommandText = "select max(empno) from emp"; int maxno = int.Parse(cmd.ExecuteScalar().ToString()); prm[0] = cmd.Parameters.Add("paramEmpno", OracleDbType.Decimal, maxno + 10, 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.ExecuteNonQuery(); Console.WriteLine("Record for employee id {0} has been inserted.", maxno + 10); } }