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管理対象ドライバ |
| アセンブリ | Oracle.DataAccess.dll |
Oracle.ManagedDataAccess.dll |
| ネームスペース | Oracle.DataAccess.Client |
Oracle.ManagedDataAccess.Client |
| .NET Framework | 3.5, 4.0, 4.5 | 4.0, 4.5 |
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
備考
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();
}
}
OracleParameterCollectionメンバーは、次の各表にリストしています。
OracleParameterCollection静的メソッド
OracleParameterCollection静的メソッドを、表6-103にリストします。
OracleParameterCollectionプロパティ
OracleParameterCollectionプロパティを、表6-104にリストします。
表6-104 OracleParameterCollectionプロパティ
| プロパティ | 説明 |
|---|---|
|
コレクション内の |
|
|
|
OracleParameterCollectionパブリック・メソッド
OracleParameterCollectionパブリック・メソッドを、表6-105にリストします。
表6-105 OracleParameterCollectionパブリック・メソッド
| パブリック・メソッド | 説明 |
|---|---|
|
オブジェクトをコレクションに追加します(オーバーロード) |
|
|
|
|
|
すべての |
|
|
オブジェクトがコレクション内に存在するかどうかを示します(オーバーロード) |
|
|
指定された |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
コレクション内のオブジェクトの |
|
|
指定された |
|
|
コレクションからオブジェクトを削除します |
|
|
位置によりコレクションからオブジェクトを削除します(オーバーロード) |
|
|
|
|
OracleParameterCollectionプロパティを、表6-107にリストします。
表6-107 OracleParameterCollectionプロパティ
| プロパティ | 説明 |
|---|---|
|
コレクション内の |
|
|
|
このプロパティでは、コレクション内のOracleParameterオブジェクトの数が指定されます。
宣言
// C#
public override int Count {get;}
プロパティ値
OracleParameterオブジェクトの数
実装
ICollection
備考
デフォルト = 0
Itemでは、OracleParameterオブジェクトが取得および設定されます。
オーバーロード・リスト:
このプロパティでは、parameterIndexで指定された索引にあるOracleParameterオブジェクトが取得および設定されます。
このプロパティでは、parameterNameにより指定されたパラメータ名を使用して、OracleParameterオブジェクトが取得および設定されます。
このプロパティでは、parameterIndexで指定された索引にあるOracleParameterオブジェクトが取得および設定されます。
宣言
// C#
public object Item[int parameterIndex] {get; set;}
プロパティ値
オブジェクト
実装
IList
例外
IndexOutOfRangeException - 指定された索引は存在しません。
備考
OracleParameterCollectionクラスは、ゼロベースの索引です。
OracleParameterCollectionパブリック・メソッドを、表6-108にリストします。
表6-108 OracleParameterCollectionパブリック・メソッド
| パブリック・メソッド | 説明 |
|---|---|
|
オブジェクトをコレクションに追加します(オーバーロード) |
|
|
|
|
|
すべての |
|
|
オブジェクトがコレクション内に存在するかどうかを示します(オーバーロード) |
|
|
指定された |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
コレクション内のオブジェクトの |
|
|
指定された |
|
|
コレクションからオブジェクトを削除します |
|
|
位置によりコレクションからオブジェクトを削除します(オーバーロード) |
|
|
|
|
Addでは、オブジェクトがコレクションに追加されます。
オーバーロード・リスト:
このメソッドでは、指定されたオブジェクトがコレクションに追加されます。
このメソッドでは、指定されたOracleParameterオブジェクトがコレクションに追加されます。
このメソッドでは、指定された名前とオブジェクト値を使用して、OracleParameterオブジェクトがコレクションに追加されます。
このメソッドでは、指定された名前とデータベース型を使用して、OracleParameterオブジェクトがコレクションに追加されます。
Add(string, OracleDbType, ParameterDirection)
このメソッドでは、指定された名前、データベース型およびディレクションを使用して、OracleParameterオブジェクトがコレクションに追加されます。
Add(string, OracleDbType, object, ParameterDirection)
このメソッドでは、指定された名前、データベース型、パラメータ値およびディレクションを使用して、OracleParameterオブジェクトがコレクションに追加されます。
Add(string, OracleDbType, int, object, ParameterDirection)
このメソッドでは、指定された名前、データベース型、サイズ、パラメータ値およびディレクションを使用して、OracleParameterオブジェクトがコレクションに追加されます。
Add(string, OracleDbType, int)
このメソッドでは、指定された名前、データベース型およびサイズを使用して、OracleParameterオブジェクトがコレクションに追加されます。
Add (string, OracleDbType, int, string)
このメソッドでは、指定された名前、データベース型、サイズおよびソース列を使用して、OracleParameterオブジェクトがコレクションに追加されます。
Add(string, OracleDbType, int, ParameterDirection, bool, byte, byte, string, DataRowVersion, object)
このメソッドでは、指定された名前、データベース・タイプ、サイズ、ディレクション、NULLインジケータ、精度、スケール、ソース列、ソース・バージョンおよびパラメータ値を使用して、OracleParameterオブジェクトがコレクションに追加されます。
このメソッドでは、指定されたオブジェクトがコレクションに追加されます。
宣言
// C#
public override int Add(object obj);
パラメータ
obj
指定されたオブジェクト
戻り値
新規OracleParameterが追加される索引
実装
IList
備考
InvalidCastException - 指定されたobjは、OracleParameterオブジェクトにキャストできません。
このメソッドでは、指定されたOracleParameterオブジェクトがコレクションに追加されます。
宣言
// C#
public OracleParameter Add(OracleParameter paramObj);
パラメータ
paramObj
指定されたOracleParameterオブジェクト
戻り値
コレクションに追加された新規作成のOracleParameterオブジェクト
このメソッドでは、指定された名前とオブジェクト値を使用して、OracleParameterオブジェクトがコレクションに追加されます。
宣言
// C# public OracleParameter Add(string name, object val);
パラメータ
name
パラメータ名
val
OracleParameter値
戻り値
コレクションに追加された新規作成のOracleParameterオブジェクト
このメソッドでは、指定された名前とデータベース型を使用して、OracleParameterオブジェクトがコレクションに追加されます。
宣言
// C# public OracleParameter Add(string name, OracleDbType dbType);
パラメータ
name
パラメータ名
dbType
OracleParameterのデータ型
戻り値
コレクションに追加された新規作成のOracleParameterオブジェクト
このメソッドでは、指定された名前、データベース型およびディレクションを使用して、OracleParameterオブジェクトがコレクションに追加されます。
宣言
// C# public OracleParameter Add(string name, OracleDbType dbType, ParameterDirection direction);
パラメータ
name
パラメータ名
dbType
OracleParameterのデータ型
direction
OracleParameterディレクション
戻り値
コレクションに追加された新規作成のOracleParameterオブジェクト
このメソッドでは、指定された名前、データベース型、パラメータ値およびディレクションを使用して、OracleParameterオブジェクトがコレクションに追加されます。
宣言
// C# public OracleParameter Add(string name, OracleDbType dbType, object val, ParameterDirection dir);
パラメータ
name
パラメータ名
dbType
OracleParameterのデータ型
val
OracleParameter値
dir
ParameterDirection値
戻り値
コレクションに追加された新規作成のOracleParameterオブジェクト
例
// C#
using System;
using System.Data;
using Oracle.DataAccess.Client;
class AddSample
{
static void Main()
{
OracleCommand cmd = new OracleCommand();
// Add parameter to the OracleParameterCollection
OracleParameter prm = cmd.Parameters.Add(
"MyParam", OracleDbType.Decimal, 1, ParameterDirection.Input);
// Prints "cmd.Parameters.Count = 1"
Console.WriteLine("cmd.Parameters.Count = " + cmd.Parameters.Count);
prm.Dispose();
cmd.Dispose();
}
}
このメソッドでは、指定された名前、データベース型、サイズ、パラメータ値およびディレクションを使用して、OracleParameterオブジェクトがコレクションに追加されます。
宣言
// C# public OracleParameter Add(string name, OracleDbType dbType, int size, object val, ParameterDirection dir;
パラメータ
name
パラメータ名
dbType
OracleParameterのデータ型
size
OracleParameterのサイズ
val
OracleParameter値
dir
ParameterDirection値
戻り値
コレクションに追加された新規作成のOracleParameterオブジェクト
このメソッドでは、指定された名前、データベース型およびサイズを使用して、OracleParameterオブジェクトがコレクションに追加されます。
宣言
// C# public OracleParameter Add(string name, OracleDbType dbType, int size);
パラメータ
name
パラメータ名
dbType
OracleParameterのデータ型
size
OracleParameterのサイズ
戻り値
コレクションに追加された新規作成のOracleParameterオブジェクト
例
// C#
using System;
using Oracle.DataAccess.Client;
class AddSample
{
static void Main()
{
OracleCommand cmd = new OracleCommand();
// Add parameter to the OracleParameterCollection
OracleParameter prm = cmd.Parameters.Add(
"MyParam", OracleDbType.Varchar2, 10);
// Prints "cmd.Parameters.Count = 1"
Console.WriteLine("cmd.Parameters.Count = " + cmd.Parameters.Count);
prm.Dispose();
cmd.Dispose();
}
}
このメソッドでは、指定された名前、データベース型、サイズおよびソース列を使用して、OracleParameterオブジェクトがコレクションに追加されます。
宣言
// C# public OracleParameter Add(string name, OracleDbType dbType, int size, string srcColumn);
パラメータ
name
パラメータ名
dbType
OracleParameterのデータ型
size
OracleParameterのサイズ
srcColumn
ソース列の名前
戻り値
OracleParameter
このメソッドでは、指定された名前、データベース・タイプ、サイズ、ディレクション、NULLインジケータ、精度、スケール、ソース列、ソース・バージョンおよびパラメータ値を使用して、OracleParameterオブジェクトがコレクションに追加されます。
宣言
// C# public OracleParameter Add(string name, OracleDbType dbType, int size, ParameterDirection dir, bool isNullable, byte precision, byte scale, string srcColumn, DataRowVersion version, object val);
パラメータ
name
パラメータ名
dbType
OracleParameterのデータ型
size
OracleParameterのサイズ
dir
ParameterDirection値
isNullable
parameter値をnullにできるかどうかを指定するインジケータ
precision
parameter値の精度
scale
parameter値のスケール
srcColumn
ソース列の名前
version
DataRowVersion値
val
parameter値
戻り値
コレクションに追加された新規作成のOracleParameterオブジェクト
例外
ArgumentException - 指定されたvalのタイプは、ODP.NETタイプのValueプロパティのタイプに属しません。
このメソッドでは、OracleParameterCollectionの終わりに要素が追加されます。
宣言
// C#
public override void AddRange(Array paramArray );
パラメータ
paramArray
OracleParameterオブジェクトの配列。
例外
ArgumentNullException - 入力パラメータはNullです。
このメソッドでは、すべてのOracleParameterオブジェクトがコレクションから削除されます。
宣言
// C# public override void Clear();
実装
IList
例
// C#
using System;
using Oracle.DataAccess.Client;
class ClearSample
{
static void Main()
{
OracleCommand cmd = new OracleCommand();
// Add parameter to the OracleParameterCollection
OracleParameter prm = cmd.Parameters.Add("MyParam", OracleDbType.Decimal);
// Prints "cmd.Parameters.Count = 1"
Console.WriteLine("cmd.Parameters.Count = " + cmd.Parameters.Count);
// Clear all parameters in the OracleParameterCollection
cmd.Parameters.Clear();
// Prints "cmd.Parameters.Count = 0"
Console.WriteLine("cmd.Parameters.Count = " + cmd.Parameters.Count);
prm.Dispose();
cmd.Dispose();
}
}
Containsは、指定されたオブジェクトがコレクション内に存在するかどうかを示します。
オーバーロード・リスト:
このメソッドは、指定されたオブジェクトがコレクション内に存在するかどうかを示します。
このメソッドは、指定された文字列を使用して、OracleParameterオブジェクトがコレクション内に存在するかどうかを示します。
このメソッドは、指定されたオブジェクトがコレクション内に存在するかどうかを示します。
宣言
// C#
public override bool Contains(object obj)
パラメータ
obj
オブジェクト
戻り値
指定されたOracleParameterがコレクション内にあるかどうかを示すbool
実装
IList
例外
InvalidCastException - 指定されたobjは、OracleParameterオブジェクトではありません。
備考
コレクションにOracleParameterオブジェクトが含まれる場合はtrueを戻し、それ以外の場合はfalseを戻します。
例
// C#
using System;
using Oracle.DataAccess.Client;
class ContainsSample
{
static void Main()
{
OracleCommand cmd = new OracleCommand();
// Add parameter to the OracleParameterCollection
OracleParameter prm1 = cmd.Parameters.Add("MyParam", OracleDbType.Decimal);
// Check if the OracleParameterCollection contains prm1
bool bContains = cmd.Parameters.Contains(prm1);
// Prints "bContains = True"
Console.WriteLine("bContains = " + bContains);
OracleParameter prm2 = new OracleParameter();
// Check if the OracleParameterCollection contains prm2
bContains = cmd.Parameters.Contains(prm2);
// Prints "bContains = False"
Console.WriteLine("bContains = " + bContains);
prm1.Dispose();
prm2.Dispose();
cmd.Dispose();
}
}
このメソッドは、指定された文字列を使用して、OracleParameterオブジェクトがコレクション内に存在するかどうかを示します。
宣言
// C#
public override bool Contains(string name);
パラメータ
name
OracleParameterオブジェクトの名前
戻り値
指定されたパラメータ名を持つOracleParameterオブジェクトがコレクションに含まれる場合はtrueを戻し、それ以外の場合はfalseを戻します。
実装
IDataParameterCollection
例
// C#
using System;
using Oracle.DataAccess.Client;
class ContainsSample
{
static void Main()
{
OracleCommand cmd = new OracleCommand();
// Add parameter to the OracleParameterCollection
OracleParameter prm = cmd.Parameters.Add("MyParam", OracleDbType.Decimal);
// Check if the OracleParameterCollection contains "MyParam"
bool bContains = cmd.Parameters.Contains("MyParam");
// Prints "bContains = True"
Console.WriteLine("bContains = " + bContains);
// Check if the OracleParameterCollection contains "NoParam"
bContains = cmd.Parameters.Contains("NoParam");
// Prints "bContains = False"
Console.WriteLine("bContains = " + bContains);
prm.Dispose();
cmd.Dispose();
}
}
このメソッドでは、指定されたindexから指定されたarrayまで、コレクションからOracleParameterオブジェクトがコピーされます。
宣言
// C# public override void CopyTo(Array array, int index);
パラメータ
array
指定された配列
index
配列インデックス
実装
ICollection
IndexOfでは、コレクション内のOracleParameterオブジェクトの索引が戻されます。
オーバーロード・リスト:
このメソッドでは、コレクション内のOracleParameterオブジェクトの索引が戻されます。
このメソッドでは、コレクション内の指定された名前を持つOracleParameterオブジェクトのindexが戻されます。
このメソッドでは、コレクション内のOracleParameterオブジェクトの索引が戻されます。
宣言
// C#
public override int IndexOf(object obj);
パラメータ
obj
指定されたオブジェクト
戻り値
コレクション内のOracleParameterオブジェクトの索引が戻されます。
実装
IList
例外
InvalidCastException - 指定されたobjは、OracleParameterオブジェクトにキャストできません。
備考
コレクション内の指定されたOracleParameter objのindexが戻されます。
このメソッドでは、コレクション内の指定された名前を持つOracleParameterオブジェクトのindexが戻されます。
宣言
// C#
public override int IndexOf(String name);
パラメータ
name
パラメータ名
戻り値
コレクション内の指定されたOracleParameterのindexが戻されます。
実装
IDataParameterCollection
このメソッドでは、指定されたOracleParameterオブジェクトが、指定されたindexにあるコレクションに挿入されます。
宣言
// C# public override void Insert(int index, object obj);
パラメータ
index
指定された索引
obj
OracleParameterオブジェクト
実装
IList
備考
指定されたobjをOracleParameterオブジェクトにキャストできない場合、InvalidCastExceptionが表示されます。
このメソッドでは、指定されたOracleParameterがコレクションから削除されます。
宣言
// C#
public override void Remove(object obj);
パラメータ
obj
削除するオブジェクトを指定
実装
IList
例外
InvalidCastException - 指定されたobjは、OracleParameterオブジェクトにキャストできません。
例
// C#
using System;
using Oracle.DataAccess.Client;
class RemoveSample
{
static void Main()
{
OracleCommand cmd = new OracleCommand();
// Add 2 parameters to the OracleParameterCollection
OracleParameter prm1 = cmd.Parameters.Add("MyParam1", OracleDbType.Decimal);
OracleParameter prm2 = cmd.Parameters.Add("MyParam2", OracleDbType.Decimal);
// Prints "cmd.Parameters.Count = 2"
Console.WriteLine("cmd.Parameters.Count = " + cmd.Parameters.Count);
// Remove the 1st parameter from the OracleParameterCollection
cmd.Parameters.Remove(prm1);
// Prints "cmd.Parameters.Count = 1"
Console.WriteLine("cmd.Parameters.Count = " + cmd.Parameters.Count);
// Prints "cmd.Parameters[0].ParameterName = MyParam2"
Console.WriteLine("cmd.Parameters[0].ParameterName = " +
cmd.Parameters[0].ParameterName);
prm1.Dispose();
prm2.Dispose();
cmd.Dispose();
}
}
RemoveAtでは、位置によりOracleParameterオブジェクトがコレクションから削除されます。
オーバーロード・リスト:
このメソッドでは、指定された索引の位置にあるOracleParameterオブジェクトがコレクションから削除されます。
このメソッドでは、指定された名前のOracleParameterオブジェクトがコレクションから削除されます。
このメソッドでは、指定された索引の位置にあるOracleParameterオブジェクトがコレクションから削除されます。
宣言
// C#
public override void RemoveAt(int index);
パラメータ
index
OracleParameterが削除される索引を指定
実装
IList