Copyright 1999 (c) Takezou
TPQCompo = class(TComponent);
TPQCompoコンポーネントはPGconn関連の処理を行います。
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メッセージを受信しているか調べる間隔を指定します。
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関数は、実行ログの出力を停止します。
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パラメタが詳細メッセージをあらわします。
<戻る>