1.5.1 提供クラスとオブジェクト

簡易版クラスでは,下記クラスを提供しています。

このクラスでは,2種類のクラスからDatabaseオブジェクトとResultSetオブジェクトを生成します。Databaseオブジェクトは,データベースとの接続・切断を制御するオブジェクトであり,ResultSetオブジェクトはデータベースの検索・更新などを行うオブジェクトです。 データベースアクセスには,この二つのオブジェクトのメソッドを利用します。

また,繰り返し列を扱うための次のクラスも利用できます。

DBRArrayDataFactoryオブジェクトは,Databaseオブジェクトから生成されます。これらは順に,繰り返し列を扱うためのDBRArrayDataクラスを管理するオブジェクトのクラス,繰り返し列の要素の操作を管理するオブジェクトのクラス,更新を目的としてDBRArrayDataクラスのインスタンスを管理するためのスマートポインタクラス,参照の場合にDBRArrayDataクラスのインスタンスを管理するためのスマートポインタクラスです。

データベースアクセスで発生したエラー情報は,これらのオブジェクトに格納されません。エラー処理クラスライブラリのクラスを使用してエラー情報を取得できます。

<この項の構成>
(1) Databaseオブジェクト
(2) ResultSetオブジェクト
(3) 繰り返し列を扱うオブジェクト

(1) Databaseオブジェクト

Databaseオブジェクトは,DBRDatabaseクラスのコンストラクタ(データベース種別名を指定)を利用してオブジェクトを生成します。生成したオブジェクトは,オブジェクトを宣言した関数が終了すると自動的に削除されます。

一つのDatabaseオブジェクトで接続するデータベースはひとつであり,複数のデータベースと接続する場合には,複数のDatabaseオブジェクトが必要となります。

(2) ResultSetオブジェクト

ResultSetオブジェクトは,データベースの検索・更新などを行うオブジェクトであり,Databaseオブジェクトを生成した後,DBRResultSetクラスのコンストラクタを利用して生成します。生成したオブジェクトは,オブジェクトを宣言した関数が終了するとき自動的に削除されますが, ResultSetオブジェクトのCloseメソッドでも削除できます。このResultSetオブジェクトは,ひとつのDatabaseオブジェクトに対して最大64個まで生成できます。

ひとつのResultSetオブジェクトは,ひとつのSELECT文に対応し,検索したレコードを格納します。

簡易版クラスで生成したオブジェクトのイメージを図1-5に示します。

図1-5 簡易版クラスで生成したオブジェクトのイメージ

[図データ]

(3) 繰り返し列を扱うオブジェクト

繰り返し列を扱うオブジェクトの種類は次の4種類があります。

(a) DBRArrayDataFactoryオブジェクト

このオブジェクトは繰り返し列を扱う最上位オブジェクトです。繰り返し列の要素を更新する場合に接続するデータベースごとに必要です。このオブジェクトはDBRDatabaseオブジェクトのGetArrayDataFactoryメソッドで生成します。

(b) DBRArrayDataオブジェクト

このオブジェクトは繰り返し列のデータを持つオブジェクトであり,ResultSetオブジェクトのGetFieldメソッドでは参照用のDBRArrayDataオブジェクトが生成され, DBRArrayDataFactoryオブジェクトのCreateArrayDataメソッドでは更新に使用するオブジェクトが生成されます。このオブジェクトは,一つのレコード内の一つの繰り返し列の要素を格納します。

要素に値を設定する場合はSetDataメソッド,要素の値を参照する場合はGetDataメソッドを使用します。

(c) DBRArrayDataConstPtrオブジェクト

このオブジェクトはDBRArrayDataオブジェクトをポイントするものです。DBRArrayDataオブジェクトの要素を参照専用で使用する場合は,このオブジェクトのポインタを使用します。

(d) DBRArrayDataPtrオブジェクト

このオブジェクトはDBRArrayDataオブジェクトをポイントするものです。DBRArrayDataオブジェクトの要素を更新する場合は,このオブジェクトのポインタを使用します。