Sign in Join
Wiki copytemporary

lazdbexport

English · Français

lazdbexport is a package that supplies components to facilitate database export. It is delivered with lazarus and may be installed by using [Package|Install/Uninstall packages]. After install the components are accessible via the Data Export tab. It provides a template class for descendants that can provide export of datasets. Also included are various ready-made descendants for:

icon Component Description
TCSVExporter CSV
TFixedlengthExporter Fixed length
TSQLExporter SQL
TXMLXSDExporter XML/XSD
TSimpleXMLExporter XML
TSimpleJSONExporter json
TFPDbfExport dbf
TTeXExporter TeX
TRTFExporter RTF
TStandardExportFormats
TFPDataExporter

As indicated, developers can write their own export classes using the export framework. An example of this is the Excel/spreadsheet format exporter in FPSpreadsheet

Import

There is no corresponding import to dataset code in FPC/Lazarus, but there is third party code like dbimport (https://bitbucket.org/reiniero/smalltools/srcc directory dbimport).

DbImport is used in the LazSQLX and TurboBird database management tools for importing CSV (like) data into datasets.

Another form of import is the use of TSQLScript; an exported database with TSQLExporter can be imported with the use of TSQLScript.

Example

See the examples in your FPC source directory $(fpcdir)\source\packages\fcl-db\tests (see Running FPC database tests), specifically testdbexport.pas.

Following is a simplest form of using TCSVExporter. fpcsvexport must be included in uses clause.

pascal
 if SaveDialog1.Execute then 
    with TCSVExporter.Create(nil) do begin
       Dataset:= BufDataSet1;
       FileName:= SaveDialog1.FileName;
       Execute;
       Free;
    end;

From the Free Pascal wiki, page "lazdbexport", as it stood on 2021-08-16 after a change by Egsuh, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 2, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.