プライマリ・コンテンツに移動

Oracle® Data Provider for .NET開発者ガイド ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows E88311-03 |
| 目次 | 索引

前 | 次 |

# 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管理対象ドライバ
--- | --- | ---
アセンブリ | `Oracle.DataAccess.dll` | `Oracle.ManagedDataAccess.dll`
ネームスペース | `Oracle.DataAccess.Client` | `Oracle.ManagedDataAccess.Client`
.NET Framework | 3.5, 4.5, 4.6, 4.7 | 4.5, 4.6, 4.7

スレッド安全性

パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。

備考

`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.ManagedDataAccess.Clientのネームスペース

- OracleParameterCollectionメンバー

- OracleParameterCollection静的メソッド

- OracleParameterCollectionプロパティ

- OracleParameterCollectionパブリック・メソッド