Thema: csv read

Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: csv read

  Alt 29. Sep 2010, 11:20
Warum so kompliziert, wenn es doch so schön einfach geht:
Delphi-Quellcode:
  var
    con : TADOConnection;
    qry : TADOQuery;
    MyFile : string;
  begin
    MyFile := 'M:\modules Delphi\CSVreader\config.csv';
    con := TADOConnection.Create( nil );
    try
      con.ConnectionString := 'Driver={Microsoft Text-Treiber (*.txt; *.csv)};Extensions=asc,csv,tab,txt;';
      con.LoginPrompt := False;
      con.DefaultDatabase := ExtractFileDir( MyFile );
      con.Open;
      try
        qry := TADOQuery.Create( con );
        qry.Connection := con;
        qry.SQL.Text := Format( 'SELECT * FROM %s WHERE Firma = %s', [ ExtractFileName( MyFile ), QuotedStr( 'A' ) ] );
        qry.Open;
        try
          while not qry.Eof do
            begin
              // Verarbeitung der Daten z.B. mit qry.FieldByName( 'Firma' ).AsString
              qry.Next;
            end;
        finally
          qry.Close;
        end;
      finally
        con.Close;
      end;
    finally
      con.Free;
    end;
  end;
Es wird in dem Verzeichnis mit den Daten aber auch noch die Datei schema.ini benötigt
In deinem Fall sollte folgender Inhalt genügen
Code:
[config.csv]
Format=Delimited(;)
Man könnte alternativ die Daten auch mit TADOTable auslesen und dann einen Filter setzen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat