OracleParameterCollectionクラス
OracleParameterCollectionクラスは、OracleCommandオブジェクトに関連するすべてのパラメータと、これらのパラメータのDataSet列へのマッピングのコレクションを表します。
クラスの継承
System.Object
System.MarshalByRefObject
System.Data.Common.DbParameterCollection
Oracle.DataAccess.Client.OracleParameterCollection
宣言
// C#
public sealed class OracleParameterCollection : DbParameterCollection,
IDataParameterCollection, IList, ICollection, IEnumerable要件
| プロバイダ | ODP.NET管理対象外ドライバ | ODP.NET管理対象ドライバ | ODP.NET Core |
|---|---|---|---|
|
アセンブリ |
|
|
|
|
ネームスペース |
|
|
|
|
.NET Framework |
4.5, 4.6, 4.7, 4.8 |
4.5, 4.6, 4.7, 4.8 |
4.6.1以降 |
|
.NET Core |
- |
- |
2.1以降 |
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
備考
OracleParameterCollectionに追加されたOracleParameterの位置は、SQL文におけるバインディングの位置です。位置は0ベースであり、位置に基づくバインディングにのみ使用されます。名前付きのバインディングが使用されている場合、OracleParameterCollectionのOracleParameterの位置は無視されます。
例
// C#
using System;
using System.Data;
using Oracle.DataAccess.Client;
class OracleParameterCollectionSample
{
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);
// Remove all parameters from OracleParameterCollection
cmd.Parameters.Clear();
prm[0].Dispose();
prm[1].Dispose();
prm[2].Dispose();
cmd.Dispose();
con.Close();
con.Dispose();
}
}