ヘッダーをスキップ
Oracle® Objects for OLE開発者ガイド
11gリリース2 (11.2) for Microsoft Windows
B58887-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

CreateOraObject(OraDatabase)メソッド

説明

キャッシュに値インスタンス/参照可能オブジェクトを作成し、関連付けられているOO4Oオブジェクトを戻します。

使用方法

OraObject1 = OraDatabase.CreateOraObject(schema_name)
OraRef1 = OraDatabase.CreateOraObject(schema_name,table_name)
OraCollection1 = OraDatabase.CreateOraObject(schema_name)

引数

このメソッドの引数は、次のとおりです。

引数 説明
OraObject1 新しく作成する値インスタンスを表す有効なOraObjectオブジェクト。
OraRef1 新しく作成する参照可能オブジェクトを表す有効なOraRefオブジェクト。
OraCollection 新しく作成するコレクション・インスタンスを表す有効なOraCollectionオブジェクト。
schema_name 作成する値インスタンスのスキーマ名を指定する文字列。
table_name 作成する参照可能オブジェクトの表名を指定する文字列。

備考

table_name引数を指定しないと、クライアントに値インスタンスが作成され、OraObjectまたはOraCollectionオブジェクトが戻されます。table_name引数を指定すると、データベースに参照可能オブジェクトが作成され、関連付けられているOraRefオブジェクトが戻されます。

OraObjectオブジェクトの例とOraRefオブジェクトの例を示します。サンプル・コードを実行する前に、必要なデータ型と表がデータベース内にあることを確認してください。「OraObjectおよびOraRefの例で使用されているスキーマ・オブジェクト」を参照してください。

例: OraObjectオブジェクトの作成

次の例では、CreateOraObjectメソッドを使用して値インスタンスを挿入する方法を示します。ADDRESSを含んだ行が値インスタンスとしてデータベースに挿入されます。

ダイナセットの例

Dim OraSession as OraSession
Dim OraDatabase as OraDatabase
Dim OraDynaset as OraDynaset
Dim AddressNew 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&)
 
' create a new Address object in OO4O 
set AddressNew = OraDatabase.CreateOraObject("ADDRESS")
 
'initialize the Address object attribute to new value
AddressNew.Street = "Oracle Parkway"
AddressNew.State = "CA"
 
'start the dynaset AddNew operation and 
'set the Address field to new address value
OraDynaset.Addnew
OraDynaset.Fields("ADDR").Value = AddressNew
OraDynaset.Update

OraParameterの例

Dim OraSession as OraSession
Dim OraDatabase as OraDatabase
Dim OraDynaset as OraDynaset
Dim AddressNew 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 an  OraParameter object represent Address object bind Variable
OraDatabase.Parameters.Add "ADDRESS", Null, ORAPARM_INPUT, _
             ORATYPE_OBJECT, "ADDRESS"
 
' create a new Address object in OO4O 
set AddressNew = OraDatabase.CreateOraObject("ADDRESS")
 
'initialize the Address object attribute to new value
AddressNew.Street = "Oracle Parkway"
AddressNew.State = "CA"
 
'set the Address to ADDRESS parameter
Oradatabase.Parameters("ADDRESS").Value = AddressNew
 
'execute the sql statement which updates Address in the person_tab
OraDatabase.ExecuteSQL ("insert into person_tab values ('Eric',30,:ADDRESS)")


例: OraRefオブジェクトの作成

次の例では、CreateOraObjectメソッドを使用して参照可能オブジェクトを挿入する方法を示します。

この例では、新規PERSONが参照可能オブジェクトとしてデータベースに挿入されます。

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&)
 
'CreteOraObject   creates a new referenceable 
'object in the PERSON_TAB object table and returns associated OraRef
set Person = OraDatabase.CreateOraObject("PERSON","PERSON_TAB")
 
'modify the attributes of Person
Person.Name = "Eric"
 
Person.Age = 35
'Update method inserts modified referenceable object in the PERSON_TAB.
Person.Update