16.8.6.12 Lock

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

宣言

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

パラメータ

  • bWait

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

戻り値

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

例外

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

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

備考

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

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

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

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