|
TOracleObject object |
Top Previous Next |
|
Unit 説明 アプリケーション開発において、最も重要なOracle8の新機能はオブジェクト拡張です。オブジェクト属性、メソッドやパーシステントなどを導入することによってオブジェクト指向な方法でアプリケーションがデータベースにアクセスできるようになりました。Net8のクライアントサイドキャッシュでプログラマーは、あらゆる種類の最適化ロジックを持つアプリケーションで妥協することなく、非常に効率的なクライアント/サーバーアプリケーションを作成することが出来ます。 Oracle8オブジェクトはDelphiのTOracleObjectオブジェクト内にカプセル化されています。TOracleObjectインスタンスを取得するには、Create[****] コンストラクターで作成するか、TOracleQuery[****]内のオブジェクトを選択してObjField[****]メソッドを使うか、TOracleReference[****]をpinning[****] (脱参照とも) するか、TOracleObject.ObjAttr[****]を通じてオブジェクトに埋め込みオブジェクトにアクセスすることによって可能になります。 オブジェクトは自動的にnullになります。これはオブジェクトの属性がnullなのではなくオブジェクト全体がnullを意味します。アトミックヌルをテストするためには、IsNull[****]メソッドを使ってください。オブジェクトをアトミックヌルにするには、Clear[****]メソッドを使ってください。 オブジェクトの属性が設定されている時、オブジェクトは馬ot nullになってしまいます。 単一オブジェクトの属性はGetAttr[****]とSetAttr[****]メソッドを使うことによって操作できます。複合オブジェクトの属性はLOBAttr[****] (LOB Locatorの属性に対して), ObjAttr[****] (埋め込みオブジェクトの属性に対して)かRefAttr[****] (リファレンスの属性に対して)メソッドを使うことによってアクセスすることができます。 オブジェクトのメソッド (メンバー関数とプロシージャー)はCallMethod[****]メソッドを使って呼び出します。 パーシステントスタンドアローンオブジェクト(関連するテーブルで作成されるか参照から外れたオブジェクト)はFlush[****]メソッドを使ってデータベースサーバーにフラッシュされます。 パーシステントスタンドアローンオブジェクトが修正された後か、Delete[****] メソッドを使って削除された後にフラッシングが必要になります。更にパーシステントスタンドアローンオブジェクトはLock[****]メソッドでロックされ、そしてRefresh[****]メソッドを使ってデータベースからリフレッシュされます。 オブジェクトはまたvarrayかネスト化したテーブルコレクションでもあります。コレクションオブジェクトは属性を持ちません。代わりに、シンプル(string, integer, float, date)か複合(reference, object)データ型の要素を持ちます。コレクションの要素にアクセスするためには、ToracleObjectは3つのゼロベース配列のプロパティを提供します: Elements[****] (simple要素型用), ObjElements[****] (object 要素型用)とRefElements[****] (reference要素型用)。ElementCount[****] メソッドを使って、コレクション内の要素数を決定します。DeleteElement[****]メソッドを使って要素を削除できますが、これによってコレクション内にギャップが生まれます。要素がコレクション内のある位置に存在するかどうかを判断するためにはElementExists[****]メソッドを使ってください。 注 このオブジェクトは、Direct Oracle AccessのObjectバージョンでのみ使用可能となります。 |