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

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

前 | 次 |

# Value

このプロパティは、`Parameter`の値を指定します。

宣言

    // C#
    public override object Value { get; set; }

プロパティ値

`object`。

実装

`IDataParameter`

例外

`ArgumentException` - 指定した`Value`プロパティが無効です。

`InvalidArgumentException`: 指定した`Value`プロパティが無効です。

備考

デフォルト = `null`

`OracleParameter`オブジェクトが配列バインドまたはPL/SQL連想配列に使用される場合、`Value`は、パラメータ値の配列になります。

`Value`プロパティは、`OracleDataAdapter.Update()`によって上書きできます。

`IConvertible`インタフェースをサポートしている場合、プロバイダは、値の型を変換しようとします。指定した型と値に互換性がない場合、変換エラーが発生します。

データベースに`null`パラメータ値を送信する場合、ユーザーは、`null`ではなく`DBNull`を指定する必要があります。システム内の`null`値は、値を持たない空のオブジェクトです。`DBNull`は、`null`値を表すのに使用されます。ユーザーは、`Status`を`OracleParameterStatus.NullValue`に設定して、`null`値を指定することもできます。この場合、プロバイダはデータベースに`null`値を送信します。

`OracleDbType`および`DbType`のいずれも設定されていない場合、値は`Value`から推測されます。関連情報は、次の項目を参照してください。

- ValueからのDbTypeおよびOracleDbTypeの判断の表

- ArrayBindCount

- ArrayBindSize

- ArrayBindStatus

- OracleDbTypeの列挙

入力パラメータの場合、値は次のようになります。

- データベースに送信される`OracleCommand`にバインドされます。

- プロバイダがデータをデータベースに送信するときに、`OracleDbType`または`DbType`で指定されたデータ型に変換されます。

出力パラメータの場合、値は次のようになります。

- `OracleCommand`の完了時に設定されます(戻り値パラメータの場合にも当てはまります)。

- データベースからのデータに対して、`OracleDbType`または`DbType`で指定されたデータ型に設定されます。

配列バインディングは、次のパラメータとともに使用します。

- 入力パラメータ - `Value`は、値の配列に設定する必要があります。バインドされる要素の数を示すために、`OracleCommand.ArrayBindCount`をゼロより大きい値に設定する必要があります。

  配列内の要素の数は、`OracleCommand.ArrayBindCount`プロパティと同じである必要があります。同じでない場合、配列内の要素のバインドには、要素の最小値が使用されます。

- 出力パラメータ - 取得される要素の数を示すために、`OracleCommand.ArrayBindCount`をゼロより大きい値に設定する必要があります(`SELECT`文の場合)。

PL/SQL連想配列バインディングは、次のパラメータとともに使用します。

- 入力パラメータ - Valueは、値の配列に設定する必要があります。`CollectionType`は、`OracleCollection.PLSQLAssociativeArray`に設定する必要があります。Sizeを設定して、PL/SQL連想配列内で可能な配列要素の最大数を指定する必要があります。`Size`が`Value`の要素の数より少ない場合、`Size`は、バインドされるValueプロパティの要素の数を指定します。

- 出力パラメータ - `CollectionType`は、`OracleCollection.PLSQLAssociativeArray`に設定する必要があります。`Size`を設定して、PL/SQL連想配列内の配列要素の最大数を指定する必要があります。

各パラメータには、1つの値が必要です。`null`値を使用してパラメータをバインドするには、`Value`を`DBNull.Value`に設定するか、`Status`を`OracleParameterStatus.` `NullInsert`に設定します。

関連項目:

- Oracle.DataAccess.ClientおよびOracle.ManagedDataAccess.Clientのネームスペース

- OracleParameterクラス

- OracleParameterメンバー

- ArrayBindCount

- OracleParameterStatusの列挙