TSQLExporter/ja
From Lazarus wiki
Jump to navigationJump to search
TSQLExporter は、TDataSet で使用するデータベース エクスポート コンポーネントである。 lazdbexport パッケージをインストールすると、 Component Palette/jaの [Data Export] タブに表示される。 TDataSet の内容 (たとえば、TSQLConnector/ja および TSQLTransaction/ja とリンクするように正しく設定された TSQLQuery/ja の結果) をエクスポートするには、FormatSettings.TableName も提供する必要がある。
以下の例では、TSynEdit にテーブル mytable のエクスポートされたコンテンツが入力される。
type
myForm = class(TForm)
btnExport: TButton;
myConnector: TSQLConnector;
myExporter: TSQLExporter;
myQuery: TSQLQuery;
myTransaction: TSQLTransaction;
myScriptText: TSynEdit;
mySyntax: TSynSQLSyn;
procedure btnExportClick(Sender: TObject);
private
procedure ExportTable( const tblnam: String );
end;
implementation
procedure myForm.btnExportClick(Sender: TObject);
begin
ExportTable( 'mytable' );
end;
procedure myForm.ExportTable( const tblnam: string );
var
ts: TStringStream;
begin
try
ts := TStringStream.Create( '' );
myTransaction.Database := myConnector;
myQuery.Database := myConnector;
myExporter.DataSet := myQuery;
myQuery.SQL.Text := 'SELECT * FROM ' + tblnam;
myQuery.Open();
with myExporter.FormatSettings do begin
TableName := tblnam; // エクスポーターは挿入ステートメントでテーブル名を使用する
DateFormat := 'YYYY-MM-DD'; // SQL 日付フォーマット
DateTimeFormat := 'YYYY-MM-DD hh:mm:ss'; //
end;
myExporter.ExportToStream( ts );
myScriptText.Text := ts.DataString; // 形式がついたスクリプトテキストを表示
myQuery.Close();
finally
ts.Free();
end;
end;