Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: DBGrid speichert nicht die Daten ab

  Alt 18. Jul 2009, 12:10
Zitat von kumar89:
Dabei möchte ich die DBGrid Tabelle als .txt Datei und .csv abspeichern. Was auch bisher klappt...
So wie du das bisher probiert hast, bist du völlig auf dem Holzweg.
Folgende Zeile speichert NICHT den Inhalt des DBGrid
DBGridPW.Columns.SaveToFile('passwort.csv'); sondern nur die Einstellungen der Spalten (=Columns).
So wird nur die Reihenfolge und die Breite jede Spalte gespeichert.

Um deine Daten zu Speichern musst du dich völlig vom DBGrid lösen und nur mit TDataset arbeiten.
TDataset ist der Vater von TTable.

Hier mal eine Quick & Dirty Variante, wie man die Daten als CSV speichern kann:
Delphi-Quellcode:
procedure SaveDatasetAsCSV(ds:TDataset; const fn:string);
var
  list : TStringList;
  s : string;
  i : integer;
begin
   list := TStringList.Create;
   ds.First;
   while not ds.Eof do // über alle Datensätze
   begin
     s := '';
     for i := 0 to ds.Fields.Count-1 do // über alle Datenfelder
     begin
       s := s + ds.Fields[i].AsString+ ',';
     end;
     list.Add(s);

     ds.Next;
   end;
   list.Save(fn);
   list.Free;
end;
Der Code ist ungetestet, sollte aber das Grundprinzip zeigen.
Das Einlesen einer CSV-Datei ist übrigens etwas schwieriger als das Speichern.
Andreas
  Mit Zitat antworten Zitat