OracleParameterCollection
クラスは、OracleCommand
オブジェクトに関連するすべてのパラメータと、これらのパラメータのDataSet
列へのマッピングのコレクションを表します。
クラスの継承
System.Object
System.MarshalByRefObject
System.Data.Common.DbParameterCollection
(ADO.NET 2.0のみ)
Oracle.DataAccess.Client.OracleParameterCollection
宣言
// ADO.NET 2.0: C# public sealed class OracleParameterCollection : DbParameterCollection, IDataParameterCollection, IList, ICollection, IEnumerable
// ADO.NET 1.x: C#
public sealed class OracleParameterCollection : MarshalByRefObject,
IDataParameterCollection, IList, ICollection, IEnumerable
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
備考
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(); } }
要件
ネームスペース: Oracle.DataAccess.Client
アセンブリ: Oracle.DataAccess.dll
Microsoft .NET Frameworkバージョン: 1.xまたは2.0
OracleParameterCollection
メンバーは、次の各表にリストしています。
OracleParameterCollection静的メソッド
OracleParameterCollection
静的メソッドのリストを、表5-76に示します。
OracleParameterCollectionプロパティ
OracleParameterCollection
プロパティのリストを、表5-77に示します。
表5-77 OracleParameterCollectionプロパティ
名前 | 説明 |
---|---|
コレクション内の |
|
|
OracleParameterCollectionパブリック・メソッド
OracleParameterCollection
パブリック・メソッドのリストを、表5-78に示します。
表5-78 OracleParameterCollectionパブリック・メソッド
パブリック・メソッド | 説明 |
---|---|
オブジェクトをコレクションに追加します(オーバーロード) |
|
|
ADO.NET 2.0準拠のODP.NETでのみサポート |
すべての |
|
オブジェクトがコレクション内に存在するかどうかを示します(オーバーロード) |
|
指定された |
|
|
|
|
|
|
|
|
|
|
|
|
|
コレクション内のオブジェクトの |
|
指定された |
|
コレクションからオブジェクトを削除します |
|
位置によりコレクションからオブジェクトを削除します(オーバーロード) |
|
|
|
OracleParameterCollection
静的メソッドのリストを、表5-79に示します。
OracleParameterCollection
プロパティのリストを、表5-80に示します。
表5-80 OracleParameterCollectionプロパティ
名前 | 説明 |
---|---|
コレクション内の |
|
|
このプロパティでは、コレクション内のOracleParameter
オブジェクトの数が指定されます。
宣言
// ADO.NET 2.0: C# public override int Count {get;}
// ADO.NET 1.x: C#
public 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
クラスは、ゼロベースの索引です。
このプロパティでは、parameterName
により指定されたパラメータ名を使用して、OracleParameter
オブジェクトが取得および設定されます。
宣言
// C# public OracleParameter Item[string parameterName] {get; set;};
プロパティ値
OracleParameter
実装
IDataParameterCollection
例外
IndexOutOfRangeException
: 指定されたパラメータ名は存在しません。
OracleParameterCollection
パブリック・メソッドのリストを、表5-81に示します。
表5-81 OracleParameterCollectionパブリック・メソッド
パブリック・メソッド | 説明 |
---|---|
オブジェクトをコレクションに追加します(オーバーロード) |
|
|
ADO.NET 2.0準拠のODP.NETでのみサポート |
すべての |
|
オブジェクトがコレクション内に存在するかどうかを示します(オーバーロード) |
|
指定された |
|
|
|
|
|
|
|
|
|
|
|
|
|
コレクション内のオブジェクトの |
|
指定された |
|
コレクションからオブジェクトを削除します |
|
位置によりコレクションからオブジェクトを削除します(オーバーロード) |
|
|
|
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
オブジェクトがコレクションに追加されます。
このメソッドでは、指定されたオブジェクトがコレクションに追加されます。
宣言
// ADO.NET 2.0: C#
public override int Add(object obj);
// ADO.NET 1.x: C# public 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
の最後に要素が追加されます。
宣言
// ADO.NET 2.0: C#
public override void AddRange( Array paramArray );
パラメータ
paramArray
OracleParameter
オブジェクトの配列
例外
ArgumentNullException
: 入力パラメータはNULLです。
このメソッドでは、すべてのOracleParameter
オブジェクトがコレクションから削除されます。
宣言
// ADO.NET 2.0: C# public override void Clear();
// ADO.NET 1.x: C#
public 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
オブジェクトがコレクション内に存在するかどうかを示します。
このメソッドは、指定されたオブジェクトがコレクション内に存在するかどうかを示します。
宣言
// ADO.NET 2.0: C#
public override bool Contains(object obj)
// ADO.NET 1.x: C# public 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
オブジェクトがコレクション内に存在するかどうかを示します。
宣言
// ADO.NET 2.0: C#
public override bool Contains(string name);
// ADO.NET 1.x: C# public 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
オブジェクトがコピーされます。
宣言
// ADO.NET 2.0: C# public override void CopyTo(Array array, int index);
// ADO.NET 1.x: C# public void CopyTo(Array array, int index);
パラメータ
array
指定された配列
index
配列インデックス
実装
ICollection
IndexOf
では、コレクション内のOracleParameter
オブジェクトの索引が戻されます。
オーバーロード・リスト:
このメソッドでは、コレクション内のOracleParameter
オブジェクトの索引が戻されます。
このメソッドでは、コレクション内の指定された名前を持つOracleParameter
オブジェクトのindex
が戻されます。
このメソッドでは、コレクション内のOracleParameter
オブジェクトの索引が戻されます。
宣言
// ADO.NET 2.0: C#
public override int IndexOf(object obj);
// ADO.NET 1.x: C# public int IndexOf(object obj);
パラメータ
obj
指定されたオブジェクト
戻り値
コレクション内のOracleParameter
オブジェクトの索引が戻されます。
実装
IList
例外
InvalidCastException
: 指定されたobj
は、OracleParameter
オブジェクトにキャストできません。
備考
コレクション内の指定されたOracleParameter
obj
のindex
が戻されます。
このメソッドでは、コレクション内の指定された名前を持つOracleParameter
オブジェクトのindex
が戻されます。
宣言
// ADO.NET 2.0: C#
public override int IndexOf(String name);
// ADO.NET 1.x: C# public int IndexOf(String name);
パラメータ
name
パラメータ名
戻り値
コレクション内の指定されたOracleParameter
のindex
が戻されます。
実装
IDataParameterCollection
このメソッドでは、指定されたOracleParameter
オブジェクトが、指定されたindex
にあるコレクションに挿入されます。
宣言
// ADO.NET 2.0: C# public override void Insert(int index, object obj);
// ADO.NET 1.x: C# public void Insert(int index, object obj);
パラメータ
index
指定された索引
obj
OracleParameter
オブジェクト
実装
IList
備考
指定されたobj
をOracleParameter
オブジェクトにキャストできない場合、InvalidCastException
が表示されます。
このメソッドでは、指定されたOracleParameter
がコレクションから削除されます。
宣言
// ADO.NET 2.0: C#
public override void Remove(object obj);
// ADO.NET 1.x: C# public 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
オブジェクトがコレクションから削除されます。
宣言
// ADO.NET 2.0: C#
public override void RemoveAt(int index);
// ADO.NET 1.x: C# public void RemoveAt(int index);
パラメータ
index
OracleParameter
が削除される索引を指定
実装
IList
このメソッドでは、指定された名前のOracleParameter
オブジェクトがコレクションから削除されます。
宣言
// ADO.NET 2.0: C#
public override void RemoveAt(String name);
// ADO.NET 1.x: C# public void RemoveAt(String name);
パラメータ
name
コレクションから削除されるOracleParameter
オブジェクトの名前
実装
IDataParameterCollection