適用対象
説明
データベースの参照可能オブジェクトをロックします。
使用方法
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