Einzelnen Beitrag anzeigen

Benutzerbild von Specialwork
Specialwork

Registriert seit: 10. Jan 2003
Ort: Schwall
71 Beiträge
 
Delphi 8 Professional
 
#6

Tabellen ins CSV Format kopieren

  Alt 6. Jun 2003, 23:47
Hallo Bastos,

Hab Dir mal eine kleine Komponente entwickelt.

Die Komponente ist abgeleitet von TQuery. Du must also die üblichen Schritte durchführen, um eine Verbindung mit einer Datenbank zu erstellen. Dann musst Du lediglich die Eigenschaften ExportFile und Seperator einstellen und die Funktion ExportAsCSV aufrufen.

Delphi-Quellcode:
unit QueryExport;

interface

uses
  Windows, Messages, SysUtils, Classes, DB, DBTables;

type
  TQueryExport = class(TQuery)
  private
    { Private-Deklarationen }
    fExportFile: String;
    fSeperator: String;
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    procedure ExportAsCsv;
  published
    { Published-Deklarationen }
    property ExportFile: String read fExportFile write fExportFile;
    property Seperator: String read fSeperator write fSeperator;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Specialwork Database', [TQueryExport]);
end;

procedure TQueryExport.ExportAsCsv;
var
  ExportedStrings: TStringList;
  Y: Integer;
  CurrentDataset: String;
begin
  ExportedStrings:=TStringList.Create;
  try
    try
      if Active then begin
        while not Eof do begin
          CurrentDataset:='';
          for Y:=0 to Fields.Count-1 do begin
            CurrentDataset := CurrentDataset + Fields[y].AsString;
            CurrentDataset := CurrentDataset + Seperator;
          end;
          ExportedStrings.Add(CurrentDataset);
          Next;
        end;
      end;
      ExportedStrings.SaveToFile(ExportFile);
    except
      on E: Exception do begin
        OutputDebugString(PChar(E.Message));
      end;
    end;
  finally
    ExportedStrings.Free;
  end;
end;

end.
Gruß, Tom
Angehängte Dateien
Dateityp: zip queryexport.zip (676 Bytes, 36x aufgerufen)
Thomas van Veen
Es gibt keine Probleme, nur Lösungen, auf die man nicht gleich kommt !
  Mit Zitat antworten Zitat