PQCompo Programmer's Guide

Copyright 1999 (c) Takezou


TPQCompoコンポーネント

TPQCompo = class(TComponent);

TPQCompoコンポーネントはPGconn関連の処理を行います。


<目次> <プロパティ> <メソッド>


TPQCompoコンポーネントのプロパティ

Connectedプロパティはデータベースに接続しているかどうかを返します。接続している場合はtrue、そうでない場合はfalseを返します。

BackendPIDプロパティは接続しているサーバーのバックエンドのプロセスIDを返します。

CommandStatusプロパティは最後に実行したコマンド(SELECTとかINSERTとか)を返します。

CommandTuplesプロパティはInsert文やUpdate文等データの書き換えを行う文が影響を与えた行数を文字列型で返します。たとえば、ExecSQLメソッド実行後に、

ShowMessage(Format('%S件が更新されました', [PQCompo1.CommandTuples]));

のように使用します。

DataBaseNameプロパティは接続するデータベースの名前を指定します。

ErrorMsgプロパティは最後に実行した文のメッセージを返します。

Hostプロパティは接続するホスト名を指定します。WindowsNTの場合はIPアドレスでも指定可能です。 

HostAddrプロパティは接続するホストをIPアドレスで指定します。このプロパティはlibpqのバージョンが7以上の場合にのみ使用可能です。 

PGConnプロパティはlibpqが内部で保持しているPGConnオブジェクトへのポインタを返します。libpqの関数を直接使用する場合にのみ使用します。 

Portプロパティは接続するサーバーのポート番号を指定します。デフォルトは5432のポートを使用しますので、通常は変更する必要はありません。 

UserNameプロパティは接続するユーザの名前を指定します。 

UserPassプロパティは接続するユーザのパスワードを指定します。 

Notification機能を使用するかどうかを指定します。trueの場合は、NotificationIntervalで指定された間隔でNotifyメッセージを受信しているか調べます。

実行ログファイルの名称を指定します。

実行時のみのプロパティです。データベースに接続している場合に、接続しているデータベースのエンコーディングを返します。

libpq.dllのバージョン情報が使用可能な場合に、使用しているlibpq.dllのバージョン情報を返します。このプロパティはWindowsでのみ使用可能です。

Notification機能を使用する場合にNotifyメッセージを受信しているか調べる間隔を指定します。


TPQCompoコンポーネントのメソッド
 

Openメソッドはプロパティで指定されたホスト名、ポート、ユーザ名、パスワード、データベースを使用してPostgreSQLバックエンドと接続します。接続に失敗した場合は、例外を発生します。

Closeメソッドは、PostgreSQLバックエンドとの接続を終了し、関連したリソースを開放します。

ExecSQLメソッドは、Commandで指定されたコマンド(SQL文)を実行します。コマンドの実行に失敗した場合は例外を返します。

EndCopyメソッドは、バックエンドにコピーの終了を通知し、データをコミットします。

PutLine関数は、引数Sで指定されたテキストデータをデータベースに書き込みます。書き込みが成功した場合はtrue、失敗した場合はfalseを返します。

GetLine関数は、引数Sで指定された文字列にデータベースからテキストデータを読み込みます。成功した場合はtrue、失敗した場合はfalseを返します。

HasResultset関数は、ExecSQLで実行したコマンドが結果を返した場合(Select文やfetch文を実行した場合)trueを返します。結果を返さない文を実行した場合はfalseを返します。

GetResultset関数は、HasResultsetプロパティがtrueの時に取得した結果セットを返します。結果セットがない場合はnilを返します。

(例)
var
  Resultset: TPQResultset;
begin
  Resultset := PQCompo1.GetResultset;
  if Resultset = nil then
    raise exception.Create('
結果セットはありません')
  else
  begin
    // 結果セットに対する処理
  end;
end;

BeginTrace関数は、実行ログの出力を開始します。この関数の呼び出し前に、TraceFileNameプロパティに適切な名前が指定されている必要があります。

EndTrace関数は、実行ログの出力を停止します。


TPQCompoコンポーネントのイベント
 

OnOpenイベントは、データベースがオープンされたときに発生します。

OnCloseイベントは、接続が終了したときに発生します。

TPQNotifyEvent = procedure(Sender: TObject; PID: integer; EventName: string) of object;

OnPQNotifyイベントは、バックエンドからNotifyメッセージを受信したときに発生します。PIDパラメタは、メッセージ送信元のバックエンドのプロセスIDを、EventNameは受信したメッセージの識別名をあらわします。

TPQNoticeProcEvent = procedure(Sender: TObject; Msg: string) of object;

OnNoticeMessageイベントは、詳細メッセージがあるエラーが起きた時にに発生します。Msgパラメタが詳細メッセージをあらわします。


<戻る>