PQCompo Programmer's Guide

Copyright 1999 (c) Takezou


基本的な使用方法


<目次>


  1. インストールと環境設定

    PQコンポを使用するためには以下の環境設定が必要です。
     

    1. クライアント

      実際に必要とするファイルは、PQCompo.pas,libpq_fe.pas,PQCompo.dcrの3つです。これらのファイルを適当なフォルダにコピーして、適当なパッケージを作成してインストールすれば、PQCompoが使用できるようになります。実行時には、libpq.dllを別途入手して、パスの通っているフォルダ(c:\windows\system等)にコピーする必要があります。また、サーバに対して、名前解決ができている必要があります(WindowsNTの場合はIPアドレスでもホストを指定できます)。

    2. サーバ

      サーバ側にはもちろんPostgreSQLサーバが稼動していることが前提条件になります。また、クライアントに対して適当なアクセス権を与えている必要があります。これらについての詳細は、PostgreSQLのドキュメントまたは解説本を参考にしてください。

  2. 全体的な処理の流れ

    全体的な処理の流れは以下のようになります。
     

    1. Openメソッドでデータベースに接続する。
    2. ExecSQLメソッドで文を実行する。
    3. Select文やFetch文の場合はGetResultsetメソッドで結果セットを受け取る
    4. 次に実行する文がある場合はAに戻り次の文を実行する。
    5. Closeメソッドで接続を閉じる

  3. データベースへの接続

    データベースへの接続はOpenメソッドで行います。Openメソッドを実行する前に必要なプロパティ(ホスト名ユーザ名パスワード接続先データベース)を指定しておく必要があります。接続に失敗した場合は例外が発生します。

  4. 文の実行

    文の実行はExecSQLメソッドで行います。OracleのOCIでは複数の文を一度に実行できますが、libpqは文を一つずつしか実行できないため、たとえば

    BEGIN;
    DECLARE mycursor CURSOR FOR select * from pg_database;
    FETCH ALL in mycursor;
    COMMIT;

    という一連のコマンドを実行する場合は、一文づつ4回のExecSQL文を実行する必要があります。実行に失敗した場合は例外を返します。実行には成功したが、警告(Warning)がある場合はメッセージがResultMessageプロパティに入ります。
    また、
    OnNoticeMessageイベントを設定することで、通知メッセージ(エラー詳細)を受け取ることができます。

  5. 結果セットの受け取り

    結果セットの受け取りはGetResultsetメソッドで行います。通常は

    var
      Resultset: TPQResultset;

    というような形で結果セットを定義しておき、

      Resultset := PQCompo1.GetResultset;

    のようにして結果セットを受け取ります。
    結果セットからのデータの取り出しは、

      Resultset.FieldByName('FIELD_NAME').AsString または
      Resultset.Fields[n].AsString

    という形で行います。
    また、
    First,Next,Lastメソッドで結果セット内を移動できるので、

    while not Resultset.EOF do
    begin
      A := Resultset .Fields[0].AsString;
      B := Resultset .Fields[1].AsString;
      Resultset.Next;
    end;

    というようにして結果セット内のデータを取り出すことができます。また、結果セットは、接続が終わるまで保持されるので、必要がなくなった結果セットはFreeメソッドを呼び出して明示的に開放してやることでリソースを節約できます。

  6. 接続の終了

    接続の終了はCloseメソッドで行います。受け取った結果セットはこの時点で全て自動的に開放されます。

  7. 完成したアプリケーションの配布

    完成したアプリケーションの配布は、.exeファイルとlibpq.dllをコピーするだけで、他には一切必要ありません。



<戻る>