備考
このプロパティは、Ref
値のPIN操作を行う前、つまり、OraRef
オブジェクトで属性に初めてアクセスする前にコールしてください。PIN操作の直後にオブジェクトの属性が変更された場合は、このオプションが有効です。PIN操作でオブジェクト・インスタンスをロックすることで、Edit
(OraRef
)操作全体のデータベースへのラウンドトリップが抑制されます。
edit_option
に指定できる値は、次のとおりです。
定数 | 値 | 説明 |
---|---|---|
ORAREF_NO_LOCK |
1 |
データベースのオブジェクトをロックしません(デフォルト)。 |
ORAREF_EXCLUSIVE_LOCK |
2 |
データベースのオブジェクトを排他ロックします。 |
ORAREF_NOWAIT_LOCK |
3 |
待機なしオプションで、データベースのオブジェクトを排他ロックします。 |
例
次の例では、EditOption
プロパティの使用方法を示します。サンプル・コードを実行する前に、必要なデータ型と表がデータベース内にあることを確認してください。「OraObjectおよびOraRefの例で使用されているスキーマ・オブジェクト」を参照してください。
Dim OraSession as OraSession Dim OraDatabase as OraDatabase Dim OraDynaset as OraDynaset Dim Person as OraRef 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'create a dynaset object from customers set OraDynaset = OraDatabase.CreateDynaset("select * from customers", 0&) 'retrieve a aperson column from customers. Here Value property of OraField object 'returns Person OraRef set Person = OraDynaset.Fields("aperson").Value 'set the ORAREF_EXCLUSIVE_LOCK EditOption on the Person object. Person.EditOption = ORAREF_EXCLUSIVE_LOCK 'pin the Person Ref. This operation also locks the underlying 'referenceable 'object in the server MsgBox Person.Name 'call Edit method on Person OraRef. 'This method does not make any network round-trip Person.Edit Person.Name = "Eric" Person.Age = 35 Person.Update