Direct Access Components (PDAC) Guide (v11)

PDAC クラス、プロパティ、イベント、およびメソッド

ここでは、Pervasive Direct Access Components のすべてのクラス、プロパティ、イベント、およびメソッドの一覧を示します。Pascal 表記法で記載し、対応する Embarcadero のコンポーネントとの相違点も示しています。

例外クラス

EpvDatabaseError クラス

このクラスは PDAC のすべての例外クラスの上位クラスです。これには例外を生成するクラスへの参照が含まれる Owner プロパティがあります。

EPvDBEngineError クラス

これは、クラスに関連するすべての DB エンジン エラーの抽象ベースのクラスです。Errors プロパティでは(TPvDBError クラスから派生するクラスの)エラーを一覧表示し、ErrorCount プロパティは Errors プロパティに含まれるエラーの総数を示します。

TPvDBError クラス

TPvDBError は、EPvDBEngineError 例外クラスのデータベース エンジン エラーを表すすべてのクラスに関する抽象ベースのクラスです。以下のプロパティがあります。

EpvDrmEngineError クラス

このクラスの例外は PDAC の Btrieve サブセットによって発生します。ErrorCode プロパティは DRM エラー コードです。EPvDrmEngineError の Errors プロパティの配列には TpvDrmError タイプのオブジェクトが含まれます。

TpvDrmError クラス

TPvDrmError クラスは DRM エラーを示します。ErrorCode には DRM エラー コードが含まれ、NativeError には Btrieve ステータス コードが含まれます。

EpvSqlEngineError クラス

このクラスの例外は PDAC の SQL(リレーショナル)サブセットによって発生します。ErrorCode プロパティは最後の ODBC 呼び出しの戻り値です。EPvSqlEngineError の Errors プロパティの配列には TPvSqlError タイプのオブジェクトが含まれます。

TpvSqlError クラス

TPvSqlError クラスは ODBC エラーを示します。

EpvDbAdminEngineError クラス

このクラスの例外は、ローカル サーバーおよびリモート サーバー上で、TPvSqlSession.AddAlias などのデータベース名や DSN 管理関数の実行中に発生します。追加のプロパティ ErrorType: TpvDbAdminEngineErrorTypes があります。ErrorType = dbmeDTI の場合、NativeError には DTI(Distributed Tuning Interface)エラー コードが含まれます。それ以外の場合、NativeError にはデータベース名および DSN 関連の関数のローカル エラー コードが含まれます(EPvSqlInstallerEngineError および EpvOwnSqlInstallerEngineError を参照)。

EpvSqlInstallerEngineError クラス

このクラスの例外は、ローカル サーバー上で、TPvSqlSession.AddAlias などの DSN 管理関数の実行中(TPvSqlSession.ServerName プロパティが空またはローカル サーバーの名前が設定されていた場合)に発生します。Errors には、SQLInstallerError() 関数で返される値が含まれます。

EpvOwnSqlInstallerEngineError クラス

DSN 管理関数では適切なエラーがない場合があるので、このクラスの例外を発生して新しいタイプのエラーを示すことができます。NativeError の可能な値は以下のとおりです。

サポート クラス

サポート クラスは、高レベルのコンポーネントとカプセル化した BDE 固有の機能で必要となります。これらのクラスは、可能な限り少ない変更で PDAC に 複製されています。

TPvSessionList/TpvSqlSessionList クラス

TPvSessionList および TPvSqlSessionList クラスは、複数のセッションを提供するアプリケーション内のセッション コンポーネントを管理します。このクラスでは、含まれるオブジェクトのタイプのみ(TSession に対応する TPvSession または TPvSqlSession)が変更されています。

TPvBlobStream/TPvSQLBlobStream クラス

TPvBlobStream および TPvSQLBlobStream クラスは、BLOB(バイナリ ラージ オブジェクト)フィールドを示すフィールド オブジェクトをアプリケーションで読み書きできるようにするストリーム オブジェクトです。これらは TBlobStream VCL クラスと同様に機能します。

TParam/TParams クラス

TParam クラスはフィールド パラメータを表します。TParam のプロパティはフィールドの値を示すパラメーターの値を設定するのに使用します。TParams は TParam オブジェクトのリストです。PDAC の TParam と TParams ではそれぞれのインターフェイス セクションの変更はありません。これらは新しいファイルに移動するだけです。

TMasterDataLink クラス


メモ

Delphi/C++Builder 3 および 4 用のみです。


TMasterDataLink を使用すれば、データセットでマスター/詳細関係を設定することができます。このインターフェイス セクションでの変更はありません。新しいファイルに移動するだけです。

VCL との全般的な違い

PDAC コンポーネントで公開するインターフェイスは、BDE で動作する適切な VCL コンポーネントとほぼ一致しています。VCL コンポーネントに関する詳細情報は、Delphi/C++Builder ヘルプ システム(del?vcl.hlp または bcbvcl?.hlp ファイルで、「?」 は "3"、"4" または "5" を示します)を参照してください。ただし、BDE のいくつかの機能は Pervasive PSQL に存在せず、また Pervasive PSQL のいくつかの機能は BDE に存在しないので、Pervasive ではこれらのインターフェイス(削除または追加プロパティ/メソッド/イベント)を修正しました。これらの変更されたインターフェイスのみを以下に列挙します。その他すべてのインターフェイスは同一です。

グローバル変数

BDE の Session および Sessions グローバル変数の代わりに、PDAC では独自のグローバル変数があります。Btrieve サブセット用に BtvSession: TPvSession と BtvSessions: TPvSessionList があり、リレーショナル サブセット用に PvSqlSession: TPvSqlSession と PvSqlSessions: TPvSqlSessionList があります。これらは、Session や Sessions 変数と同様に動作し、アプリケーションの開始時に自動的に作成され、終了時に自動的に破棄されます。

Btrieve サブセット

トランザクショナル サブセットの場合、PDAC では Pervasive PSQL の「名前付きデータベース」をエイリアスとして使用します。

SQL サブセット

リレーショナル サブセットの場合、PDAC ではデータ ソース名(DSN)をエイリアスとして使用します。

VCL と異なる特定のクラス

以下のセクションでは、Embarcadero VCL とは異なるクラスを個別に説明します。

TPvSession と TPvSqlSession

TPvSession に関する注記

TPvSqlSession に関する注記

TPvDatabase と TPvSqlDatabase

TPvDatabase に関する注記

TPvSqlDatabase に関する注記

TPvTable、TPvQuery および TPvStoredProc

TPvTable に関する注記

DirectBtrCall は Btrieve ステータス コードを返します。pKeyBuf、KeyLen、および KeyNum パラメーターは PvTable.BtrHandle プロパティから取得する必要があります。
以下に、Btrieve の直接呼び出しによって現在のレコードをロックおよびロック解除する方法を示す小さなサンプルを提供します。
procedure TForm1.Lock(Sender:TObject); 
var b:TBookmark; 
    DataLen:word; 
    Res:integer; 
begin 
  b := PvTable1.GetBookmark(); 
  try 
    DataLen := 4; 
    Res := PvTable1.DirectBtrCall(B_GET_DIRECT + 300, 
b, DataLen, PvTable1.BtrHandle.pKeyBuf, 
PvTable1.BtrHandle.KeyLen, 
PvTable1.BtrHandle.KeyNum); 
  finally 
    PvTable1.FreeBookmark(b); 
  end; 
end 
 
procedure TForm1.Unlock(Sender:TObject); 
var Res:integer; 
    vr:Word; 
begin 
  vr := 0; 
  Res := PvTable1.DirectBtrCall(B_UNLOCK, @vr, vr, 
@vr, vr, -2); 
end 

TPvQuery および TPvStoredProc に関する注記

TPvQuery に関する注記

以下のプロパティが追加されました。

TPvStoredProc に関する注記

TPvUpdateSQL

TPvBatchMove


Direct Access Components リファレンス

Pervasive PSQL および Embarcadero のデータ型 (PDAC)