ヘッダーをスキップ
Oracle Data Provider for .NET開発者ガイド
11g リリース1(11.1)
E05791-01
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

OracleParameterCollectionクラス

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ベースであり、位置に基づくバインディングにのみ使用されます。名前付きのバインディングが使用されている場合、OracleParameterCollectionOracleParameterの位置は無視されます。

// 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静的メソッド

OracleParameterCollection静的メソッドのリストを、表5-76に示します。

表5-76 OracleParameterCollection静的メソッド

メソッド 説明

Equals

System.Objectからの継承(オーバーロード)


OracleParameterCollectionプロパティ

OracleParameterCollectionプロパティのリストを、表5-77に示します。

表5-77 OracleParameterCollectionプロパティ

名前 説明

Count

コレクション内のOracleParameterの数を指定します

Item

OracleParameterオブジェクトを取得および設定します(オーバーロード)


OracleParameterCollectionパブリック・メソッド

OracleParameterCollectionパブリック・メソッドのリストを、表5-78に示します。

表5-78 OracleParameterCollectionパブリック・メソッド

パブリック・メソッド 説明

Add

オブジェクトをコレクションに追加します(オーバーロード)

AddRange


OracleParameterCollectionの最後に要素を追加します

ADO.NET 2.0準拠のODP.NETでのみサポート

Clear

すべてのOracleParameterオブジェクトをコレクションから削除します

Contains

オブジェクトがコレクション内に存在するかどうかを示します(オーバーロード)

CopyTo

指定されたindexから指定されたarrayまで、コレクションからOracleParameterオブジェクトをコピーします

CreateObjRef

System.MarshalByRefObjectからの継承

Equals

System.Objectからの継承(オーバーロード)

GetHashCode

System.Objectからの継承

GetLifetimeService

System.MarshalByRefObjectからの継承

GetType

System.Objectからの継承

InitializeLifetimeService

System.MarshalByRefObjectからの継承

IndexOf

コレクション内のオブジェクトのindexを戻します(オーバーロード)

Insert

指定されたOracleParameterを指定されたindexにあるコレクションに挿入します

Remove

コレクションからオブジェクトを削除します

RemoveAt

位置によりコレクションからオブジェクトを削除します(オーバーロード)

ToString

System.Objectからの継承



OracleParameterCollection静的メソッド

OracleParameterCollection静的メソッドのリストを、表5-79に示します。

表5-79 OracleParameterCollection静的メソッド

メソッド 説明

Equals

System.Objectからの継承(オーバーロード)



OracleParameterCollectionプロパティ

OracleParameterCollectionプロパティのリストを、表5-80に示します。

表5-80 OracleParameterCollectionプロパティ

名前 説明

Count

コレクション内のOracleParameterの数を指定します

Item

OracleParameterオブジェクトを取得および設定します(オーバーロード)


Count

このプロパティでは、コレクション内のOracleParameterオブジェクトの数が指定されます。

宣言

// ADO.NET 2.0: C#
public override int Count {get;}

// ADO.NET 1.x: C#
public int Count {get;}

プロパティ値

OracleParameterオブジェクトの数

実装

ICollection

備考

デフォルト= 0

Item

Itemでは、OracleParameterオブジェクトが取得および設定されます。

オーバーロード・リスト:

Item[int]

このプロパティでは、parameterIndexで指定された索引にあるOracleParameterオブジェクトが取得および設定されます。

宣言

// C#
public object Item[int parameterIndex] {get; set;}

プロパティ値

オブジェクト

実装

IList

例外

IndexOutOfRangeException: 指定された索引は存在しません。

備考

OracleParameterCollectionクラスは、ゼロベースの索引です。

Item[string]

このプロパティでは、parameterNameにより指定されたパラメータ名を使用して、OracleParameterオブジェクトが取得および設定されます。

宣言

// C#
public OracleParameter Item[string parameterName] {get; set;};

プロパティ値

OracleParameter

実装

IDataParameterCollection

例外

IndexOutOfRangeException: 指定されたパラメータ名は存在しません。


OracleParameterCollectionパブリック・メソッド

OracleParameterCollectionパブリック・メソッドのリストを、表5-81に示します。

表5-81 OracleParameterCollectionパブリック・メソッド

パブリック・メソッド 説明

Add

オブジェクトをコレクションに追加します(オーバーロード)

AddRange


OracleParameterCollectionの最後に要素を追加します

ADO.NET 2.0準拠のODP.NETでのみサポート

Clear

すべてのOracleParameterオブジェクトをコレクションから削除します

Contains

オブジェクトがコレクション内に存在するかどうかを示します(オーバーロード)

CopyTo

指定されたindexから指定されたarrayまで、コレクションからOracleParameterオブジェクトをコピーします

CreateObjRef

System.MarshalByRefObjectからの継承

Equals

System.Objectからの継承(オーバーロード)

GetHashCode

System.Objectからの継承

GetLifetimeService

System.MarshalByRefObjectからの継承

GetType

System.Objectからの継承

InitializeLifetimeService

System.MarshalByRefObjectからの継承

IndexOf

コレクション内のオブジェクトのindexを戻します(オーバーロード)

Insert

指定されたOracleParameterを指定されたindexにあるコレクションに挿入します

Remove

コレクションからオブジェクトを削除します

RemoveAt

位置によりコレクションからオブジェクトを削除します(オーバーロード)

ToString

System.Objectからの継承


Add

Addでは、オブジェクトがコレクションに追加されます。

オーバーロード・リスト:

Add(object)

このメソッドでは、指定されたオブジェクトがコレクションに追加されます。

宣言

// ADO.NET 2.0: C#
public override int Add(object obj);

// ADO.NET 1.x: C#
public int Add(object obj);

パラメータ

戻り値

新規OracleParameterが追加される索引

実装

IList

備考

InvalidCastException: 指定されたobjは、OracleParameterオブジェクトにキャストできません。

Add(OracleParameter)

このメソッドでは、指定されたOracleParameterオブジェクトがコレクションに追加されます。

宣言

// C#
public OracleParameter Add(OracleParameter paramObj);

パラメータ

戻り値

コレクションに追加された新規作成のOracleParameterオブジェクト

Add(string, object)

このメソッドでは、指定された名前とオブジェクト値を使用して、OracleParameterオブジェクトがコレクションに追加されます。

宣言

// C#
public OracleParameter Add(string name, object val);

パラメータ

戻り値

コレクションに追加された新規作成のOracleParameterオブジェクト

Add(string, OracleDbType)

このメソッドでは、指定された名前とデータベース型を使用して、OracleParameterオブジェクトがコレクションに追加されます。

宣言

// C#
public OracleParameter Add(string name, OracleDbType dbType);

パラメータ

戻り値

コレクションに追加された新規作成のOracleParameterオブジェクト

Add(string, OracleDbType, ParameterDirection)

このメソッドでは、指定された名前、データベース型およびディレクションを使用して、OracleParameterオブジェクトがコレクションに追加されます。

宣言

// C#
public OracleParameter Add(string name, OracleDbType dbType,
   ParameterDirection direction);

パラメータ

戻り値

コレクションに追加された新規作成のOracleParameterオブジェクト

Add(string, OracleDbType, object, ParameterDirection)

このメソッドでは、指定された名前、データベース型、パラメータ値およびディレクションを使用して、OracleParameterオブジェクトがコレクションに追加されます。

宣言

// C#
public OracleParameter Add(string name, OracleDbType dbType, object val,
    ParameterDirection dir);

パラメータ

戻り値

コレクションに追加された新規作成の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();
  }
}

Add(string, OracleDbType, int, object, ParameterDirection)

このメソッドでは、指定された名前、データベース型、サイズ、パラメータ値およびディレクションを使用して、OracleParameterオブジェクトがコレクションに追加されます。

宣言

// C#
public OracleParameter Add(string name, OracleDbType dbType, int size,
    object val, ParameterDirection dir;

パラメータ

戻り値

コレクションに追加された新規作成のOracleParameterオブジェクト

Add(string, OracleDbType, int)

このメソッドでは、指定された名前、データベース型およびサイズを使用して、OracleParameterオブジェクトがコレクションに追加されます。

宣言

// C#
public OracleParameter Add(string name, OracleDbType dbType, int size);

パラメータ

戻り値

コレクションに追加された新規作成の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();
  }
}

Add (string, OracleDbType, int, string)

このメソッドでは、指定された名前、データベース型、サイズおよびソース列を使用して、OracleParameterオブジェクトがコレクションに追加されます。

宣言

// C#
public OracleParameter Add(string name, OracleDbType dbType, int size,
    string srcColumn);

パラメータ

戻り値

OracleParameter

Add(string, OracleDbType, int, ParameterDirection, bool, byte, byte, string, DataRowVersion, object)

このメソッドでは、指定された名前、データベース・タイプ、サイズ、ディレクション、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);

パラメータ

戻り値

コレクションに追加された新規作成のOracleParameterオブジェクト

例外

ArgumentException: 指定されたvalのタイプは、ODP.NETタイプのValueプロパティのタイプに属しません。

AddRange

このメソッドでは、OracleParameterCollectionの最後に要素が追加されます。

宣言

// ADO.NET 2.0: C#
public override void AddRange( Array paramArray );

パラメータ

paramArray

OracleParameterオブジェクトの配列

例外

ArgumentNullException: 入力パラメータはNULLです。

Clear

このメソッドでは、すべての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

Containsは、指定されたオブジェクトがコレクション内に存在するかどうかを示します。

オーバーロード・リスト:

Contains(object)

このメソッドは、指定されたオブジェクトがコレクション内に存在するかどうかを示します。

宣言

// ADO.NET 2.0: C#
public override bool Contains(object obj)

// ADO.NET 1.x: C#
public bool Contains(object 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();
  }
}

Contains(string)

このメソッドは、指定された文字列を使用して、OracleParameterオブジェクトがコレクション内に存在するかどうかを示します。

宣言

// ADO.NET 2.0: C#
public override bool Contains(string name);

// ADO.NET 1.x: C#
public bool Contains(string name);

パラメータ

戻り値

指定されたパラメータ名を持つ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();
  }
}

CopyTo

このメソッドでは、指定された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);

パラメータ

実装

ICollection

IndexOf

IndexOfでは、コレクション内のOracleParameterオブジェクトの索引が戻されます。

オーバーロード・リスト:

IndexOf(object)

このメソッドでは、コレクション内のOracleParameterオブジェクトの索引が戻されます。

宣言

// ADO.NET 2.0: C#
public override int IndexOf(object obj);

// ADO.NET 1.x: C#
public int IndexOf(object obj);

パラメータ

戻り値

コレクション内のOracleParameterオブジェクトの索引が戻されます。

実装

IList

例外

InvalidCastException: 指定されたobjは、OracleParameterオブジェクトにキャストできません。

備考

コレクション内の指定されたOracleParameter objindexが戻されます。

IndexOf(String)

このメソッドでは、コレクション内の指定された名前を持つOracleParameterオブジェクトのindexが戻されます。

宣言

// ADO.NET 2.0: C#
public override int IndexOf(String name);

// ADO.NET 1.x: C#
public int IndexOf(String name);

パラメータ

戻り値

コレクション内の指定されたOracleParameterindexが戻されます。

実装

IDataParameterCollection

Insert

このメソッドでは、指定された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);

パラメータ

実装

IList

備考

指定されたobjOracleParameterオブジェクトにキャストできない場合、InvalidCastExceptionが表示されます。

Remove

このメソッドでは、指定されたOracleParameterがコレクションから削除されます。

宣言

// ADO.NET 2.0: C#
public override void Remove(object obj);

// ADO.NET 1.x: C#
public void Remove(object 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

RemoveAtでは、位置によりOracleParameterオブジェクトがコレクションから削除されます。

オーバーロード・リスト:

RemoveAt(int)

このメソッドでは、指定された索引の位置にあるOracleParameterオブジェクトがコレクションから削除されます。

宣言

// ADO.NET 2.0: C#
public override void RemoveAt(int index);

// ADO.NET 1.x: C#
public void RemoveAt(int index);

パラメータ

実装

IList

RemoveAt(String)

このメソッドでは、指定された名前のOracleParameterオブジェクトがコレクションから削除されます。

宣言

// ADO.NET 2.0: C#
public override void RemoveAt(String name);

// ADO.NET 1.x: C#
public void RemoveAt(String name);

パラメータ

実装

IDataParameterCollection