Copyright 1999 (c) Takezou
<目次>
Routines for copy in/out機能を使用することで、データベースのデータをテキストデータとしてインポートもしくはエクスポートすることができます。この機能は、データをバックアップする時や、Excel等のソフトにデータを取り込む際に使用します。項目間の区切りはデフォルトではTAB(#09)が使用されますが、COPYコマンド実行時に"USING DELIMITERS"オプションを指定してやることで変更可能なので、CSV形式でのインポートも行なえます。ただし、CSVの仕様がExcelやAccessとは若干異なるため、TAB以外を区切りとして使用する場合や文字データ内にTAB文字が含まれる場合は注意が必要です。copy in/outは以下の手順で使用します。
PQCompo.ExecSQL('COPY <テーブル名> TO stdout');
AssignFile(FFile, 'data.txt');
Rewrite(FFile);
while PQCompo1.GetLine(S) do
begin
Writeln(FFile, S);
end;
PQCompo1.EndCopy;
PQCompo.ExecSQL('COPY <テーブル名> FROM stdin');
AssignFile(FFile, 'data.txt');
Reset(FFile);
while not EOF(FFile) do
begin
Readln(FFile, S);
PQCompo1.PutLine(S);
end;
PQCompo1.EndCopy;
Routines for copy in/outの使用例については、サンプルプログラムの Demo4を参考にしてください。
<戻る>