適用対象
説明
データベースの参照可能オブジェクトをロックします。
使用方法
OraRef.Edit
備考
OraRefの基礎となる参照可能なオブジェクトの属性を変更する前に、このメソッドをコールします(コールせずに変更しようとするとエラーが発生します)。このコールはネットワーク・ラウンドトリップを作成してデータベース内のオブジェクトをロックします。データベースでオブジェクトが別のユーザーによって変更されると、エラーが発生します。オブジェクトは、EditOptionプロパティを使用するとPINオペレーション中にもロックできます。
例
次の例では、データベースにあるPERSONという参照可能オブジェクトの属性を更新します。
サンプル・コードを実行する前に、必要なデータ型と表がデータベース内にあることを確認してください。「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
'locks the Person object in the server for modifying its attributes
Person.Edit
Person.Name = "Eric"
Person.Age = 35
'Update method flushes the modified referenceable object in the server
Person.Update
パラメータの例
Dim OraSession as OraSession
Dim OraDatabase as OraDatabase
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 an OraParameter object represent Address object bind Variable
OraDatabase.Parameters.Add "PERSON", Null, ORAPARM_OUTPUT, _
ORATYPE_REF,"PERSON"
'execute the sql statement which selects person from the customers table
OraDatabase.ExecuteSQL ("BEGIN select aperson into :PERSON" & _
"from customers where account = 10; END;")
'get the Person object from OraParameter
set Person = OraDatabase.Parameters("PERSON").Value
'locks the Person object in the server for modifying its attributes
Person.Edit
Person.Name = "Eric"
Person.Age = 35
'Update method flushes the modified referenceable object in the server
Person.Update