適用対象
説明
OraObjectまたはOraRefオブジェクトのクローンを戻します。
使用方法
Set OraObjectClone = OraObject.CloneSet OraRefClone = OraRef.Clone
備考
このメソッドは、ValueインスタンスまたはREF値のコピーを作成し、そのコピーに関連付けられているOraObjectまたはOraRefオブジェクトを戻します。このコピーは、ダイナセットの移動操作またはOraSQLStmtのリフレッシュ操作によって変更されることはありません。このメソッドが戻すOraObjectオブジェクトは、基礎となる値インスタンスの属性値にアクセスすることはできますが、その属性値を変更する操作はできません。
例
サンプル・コードを実行する前に、必要なデータ型と表がデータベース内にあることを確認してください。次の例については、「OraObjectおよびOraRefの例で使用されているスキーマ・オブジェクト」を参照してください。
例: OraObjectオブジェクトに対するCloneメソッド
次の例では、Cloneメソッドの使用方法を示します。
Dim OraSession as OraSession
Dim OraDatabase as OraDatabase
Dim OraDynaset as OraDynaset
Dim Address as OraObject
Dim AddressClone as OraObject
'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 person_tab
set OraDynaset = OraDatabase.CreateDynaset("select * from person_tab",0&)
'retrieve a address column from person_tab. Here Value property of OraField object
'returns Address OraObject
set Address = OraDynaset.Fields("Addr").Value
'here Address OraObject points to Address value instance in the server
'for the first row
msgbox Address.Street
'move to second row
OraDynaset.MoveNext
'here Address OraObject points to Address value instance in the server
'for the second row
msgbox Address.Street
'get the clone of Address object. This clone points to the copy of
'the value instance for second row
set AddressClone = Address.Clone
'move to third row
OraDynaset.MoveNext
'here Address OraObject points to Address value instance in the server
'for third row
msgbox Address.Street
'here AddressClone OraObject points to copy of Address value instance
' in the server for second row
msgbox AddressClone.Street
例: OraRefオブジェクトに対するCloneメソッド
次の例では、Cloneメソッドの使用方法を示します。サンプル・コードを実行する前に、必要なデータ型と表がデータベース内にあることを確認してください。
Dim OraSession as OraSession
Dim OraDatabase as OraDatabase
Dim OraDynaset as OraDynaset
Dim Person as OraRef
Dim PersonClone 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
'here Person OraRef points to Person Ref value in the server for the first row
msgbox Person.Name
'move to second row
OraDynaset.MoveNext
'here Person OraRef points to Person Ref value in the server for the second row
msgbox Person.Name
'get the clone of Person object.
'This clone points to the copy of the Ref for second row
set PersonClone = Person.Clone
'move to third row
OraDynaset.MoveNext
'here Person OraRef points to Person Ref value
'in the server for the third row
msgbox Person.Name
'here PersonClone OraRef points to Person Ref value
'in the server for the second row
msgbox PersonClone.Name