16.8.6.12 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
を示します。