AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DBGrid speichert nicht die Daten ab
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid speichert nicht die Daten ab

Ein Thema von kumar89 · begonnen am 17. Jul 2009 · letzter Beitrag vom 29. Jul 2009
Antwort Antwort
Seite 1 von 3  1 23      
kumar89
(Gast)

n/a Beiträge
 
#1

DBGrid speichert nicht die Daten ab

  Alt 17. Jul 2009, 11:45
Datenbank: Paradox • Zugriff über: Datasource
Sers Delphi-Programmierer,

folgendes Problem:

nämlich programmier ich ein Passwort Manager mit einem dbgrid, datasource, ttbale und den dazugehörigen dbedits. Dabei möchte ich die DBGrid Tabelle als .txt Datei und .csv abspeichern. Was auch bisher klappt, blos in der Datei selbst werden folgende Dinge reingeschrieben:

TPF0TColumnsWrapperColumns DropDownRowsExpanded FieldNameBenutzerReadOnly WidthïVisible  DropDownRowsExpanded FieldNamePasswortReadOnly WidthöVisible

aber die Daten die in den einzelnen Zeilen und Spalten werden nicht in die .txt bzw. .csv reingeschrieben.

Quellcode zum abspeichern als .csv:

Delphi-Quellcode:
procedure TForm1.BitBtnprintexcelClick(Sender: TObject); //Als Excel Datei speichern
var
  saveDialog: TSaveDialog;
begin
  saveDialog := TSaveDialog.Create(self);
  saveDialog.FileName := 'passwort';
  saveDialog.Filter := 'CSV-Dateien|*.csv'; //Datei-Filter
  saveDialog.DefaultExt := 'csv';
  saveDialog.Options := [ofOverwritePrompt];
  if saveDialog.Execute then
  begin
     DBGridPW.Columns.SaveToFile('passwort.csv');
  end;
end;

Wie bekomm ich die einzelnen Daten aus der DBGrid raus?



Mit freundlichen Grüßen

kumar89
  Mit Zitat antworten Zitat
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
kumar89
(Gast)

n/a Beiträge
 
#3

Re: DBGrid speichert nicht die Daten ab

  Alt 22. Jul 2009, 11:38
klappt net so wirklich :S gibts keine andere Möglichkeit?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: DBGrid speichert nicht die Daten ab

  Alt 22. Jul 2009, 11:45
Hallo,

Zitat:
klappt net so wirklich
was klappt nicht ?

Zitat:
gibts keine andere Möglichkeit?
nein, ist zumindestens die einfachste


Heiko
Heiko
  Mit Zitat antworten Zitat
shmia

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

Re: DBGrid speichert nicht die Daten ab

  Alt 22. Jul 2009, 13:38
Zitat von kumar89:
gibts keine andere Möglichkeit?
Es gibt natürlich auch fertige Komponenten...
http://www.torry.net/pages.php?id=555
Du brauchst nur die Komponenten anschauen, die mit grünem FWS markiert sind.
Ein Startpunkt wäre Pg CSV v.1.31 - hab ich selber schon verwendet.
Auch wenn manche Komponenten nur bis Delphi 5 angegeben sind, sind sie in aller Regel auch unter höheren Delphi
Versionen funktionsfähig. (aber nicht D2009)
Andreas
  Mit Zitat antworten Zitat
kumar89
(Gast)

n/a Beiträge
 
#6

Re: DBGrid speichert nicht die Daten ab

  Alt 23. Jul 2009, 11:34
Komponenten möchte ich nicht verwenden, würde es gern lieber programmieren.

Könntest mir vielleicht bissel erklären wie ich vorgehen sollte.


Danke
  Mit Zitat antworten Zitat
shmia

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

Re: DBGrid speichert nicht die Daten ab

  Alt 23. Jul 2009, 12:03
Was klappt denn nicht?
Beachte, dass folgender Sourcecode gegenüber Beitrag oben leicht verbessert wurde.
Delphi-Quellcode:
procedure SaveDatasetAsCSV(ds:TDataset; const filename:string);
var
  list : TStringList;
  s : string;
  i : integer;
  f : TField;
begin
   list := TStringList.Create;
   ds.First;
   while not ds.Eof do // über alle Datensätze
   begin
     // erstelle kommagetrennten String über alle Felder
     s := '';
     for i := 0 to ds.Fields.Count-1 do // über alle Datenfelder
     begin
       f := ds.Fields[i];
       if f.DataType in ftNonTextTypes then
          // diese Datentypen können nicht exportiert werden
       else
          s := s + f.AsString+ ',';
     end;
     list.Add(s);

     ds.Next;
   end;
   list.SaveToFile(filename);
   list.Free;
end;
Andreas
  Mit Zitat antworten Zitat
kumar89
(Gast)

n/a Beiträge
 
#8

Re: DBGrid speichert nicht die Daten ab

  Alt 29. Jul 2009, 13:19
der klappt blos wie ruf ich den auf?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#9

Re: DBGrid speichert nicht die Daten ab

  Alt 29. Jul 2009, 13:23
Wie wäre es denn mitSaveDatasetAsCSV(DeinDBGrid.Datasource.Dataset, Dateiname);
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
kumar89
(Gast)

n/a Beiträge
 
#10

Re: DBGrid speichert nicht die Daten ab

  Alt 29. Jul 2009, 13:31
leider erscheint nix kommt auch keine fehlermeldung
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz