TSQLExporter
From Free Pascal wiki
Jump to navigationJump to searchThe printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
TSQLExporter is a database export component for use with a TDataSet. It may be found on the Data Export tab of the Component Palette once you have installed the lazdbexport package. To export the contents of a TDataSet (for instance the result of a TSQLQuery correctly setup to link with a TSQLConnector and TSQLTransaction) also FormatSettings.TableName need be provided.
In the example below a a TSynEdit is filled with exported contents of table 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; // exporter uses tablename in insert statements
DateFormat := 'YYYY-MM-DD'; // SQL date format
DateTimeFormat := 'YYYY-MM-DD hh:mm:ss'; //
end;
myExporter.ExportToStream( ts );
myScriptText.Text := ts.DataString; //show formatted script text
myQuery.Close();
finally
ts.Free();
end;
end;