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

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

前 | 次 |

# Lock

このインスタンス・メソッドは、データベース内の`REF`をロックします。

宣言

    // C#
    public bool Lock(bool bWait);

パラメータ

- `bWait`

  ロックがno-waitオプションに設定されるかどうかを指定します。`bWait`が`true`に設定されている場合、このメソッドを呼び出しても`REF`がロックされるまで値は戻りません。

戻り値

ロックが取得されているかどうかを示すブール値。

例外

`InvalidOperationException` - 関連する接続がオープンされていません。

`ObjectDisposedException` - オブジェクトはすでに処理されています。

備考

`OracleRef`の`Flush`起動または`FlushCache`メソッドの後に、アプリケーションで適切に`REF`のロックを解除するには、アプリケーションがトランザクションをコミットまたはロールバックする必要があります。このため、`OracleRef`オブジェクトのロックを起動する前に、`OracleConnection`オブジェクトの`BeginTransaction`メソッドを明示的に実行する必要があります。

このインスタンス・メソッドは、ネットワーク・ラウンドトリップを作成して、データベース内の`REF`をロックします。このコールの後、プログラマは、関連した行オブジェクトの属性値を排他的に変更できます。`OracleRef`の`Flush`インスタンス・メソッドまたは`OracleConnection`の`FlushCache`メソッドへのコールにより、データベースへの変更がフラッシュされます。

`true`が渡されると、ロックが取得されるまでこのメソッドはブロックされ、値を戻しません。結果として、戻り値は常に`true`になります。

`false`が渡される場合は、このメソッドはただちに値を戻します。ロックが取得されると戻り値は`true`を示し、ロックが取得されない場合は、戻り値は`false`を示します。

関連項目:

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

- OracleRefクラス

- OracleRefメンバー