EditOption (OraRef) Property

Applies To

OraRef Object


Specifies whether the object is to be locked during the pin operation.


edit_option = OraRef.EditOption
OraRef.EditOption = edit_option


Arguments Description
[in] [out] edit_option An Integer representing the edit option.

Data Type



This property should be called before a pin operation on a Ref value, before accessing an attribute for the first time on the OraRef object. This option is useful if the object attributes are modified immediately after the pin operation. Locking the object instance during the pin operation saves the round-trip to the database during the Edit (OraRef) operation.

Possible values of edit_option are:

Constant Value Description
ORAREF_NO_LOCK 1 Does not lock the object in the database (default).
ORAREF_EXCLUSIVE_LOCK 2 Maintains an exclusive lock on the object in the database.
ORAREF_NOWAIT_LOCK 3 Maintains an exclusive lock on the object in the database with the nowait option.


The following example shows the usage of the EditOption property. Before running the sample code, make sure that you have the necessary data types and tables in the database. See "Schema Objects Used in the OraObject and OraRef Examples".

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. 
'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.Name = "Eric"
Person.Age = 35