Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGrid -> CSV (https://www.delphipraxis.net/147480-dbgrid-csv.html)

Delphi3 9. Feb 2010 18:51

Datenbank: belliebige • Zugriff über: ODBC

DBGrid -> CSV
 
Moin Moin,


ich stehe malwieder total auf den schlauch
kann mir einer mal kurz sagen wie ich eine text datei erstelle und die beschreib

ich habe es mit FileWrite probiert
nur schon beim Fileopen habe ich immer -1 und die Datei wird nicht erstellt

ich will aus einer Query bzw DBGrid eine CSV datei erstellen

nun habe ich schon eine Funktion dafür erstellt

Delphi-Quellcode:
          i := 1;
          zeile := mQuery.Fields[0].asString;
          mQuery.First;
          while not mQuery.Eof do begin
            Zeile := zeile + '; ' + mQuery.Fields[i].asString;

            mQuery.Next;
            inc(i);
          end;
und selbs das läuft noch nicht
wie würdet ihr das machen?
sollte einfach nur eine super einfache lösung sein

mkinzler 9. Feb 2010 18:54

Re: DBGrid -> CSV
 
Delphi-Quellcode:
Nicht eher so:
          mQuery.First;
          while not mQuery.Eof do begin
          begin
             zeile := '';
             for i := 0 to mQuery.Fields.Count -1 do
             begin
                 Zeile := zeile + '; ' + mQuery.Fields[i].asString;
             end;
             mQuery.Next;
             ...//Ausgabe Zeile
          end;
?

Delphi3 9. Feb 2010 19:44

Re: DBGrid -> CSV
 
sieht super aus

nun such ich noch ein kleines beispiel wie ich txt datein erstelle und und fülle

mkinzler 9. Feb 2010 19:55

Re: DBGrid -> CSV
 
Z.B.

Code vor dem obigen Block:

Delphi-Quellcode:
var
  sl: TStrings;
...
begin
  try
    sl := TStringList.Create;
    ...
In der Schleife (Ausgabe):

Zitat:

sl.Add( zeile);
Nach der Schleife:

Delphi-Quellcode:
    sl.SaveToFile( <Dateiname>);
  finally
    sl.Free;
  end;

Delphi3 10. Feb 2010 16:21

Re: DBGrid -> CSV
 
hmm

nun weiss ich wo das problem ist

und zwar

Delphi-Quellcode:
                 Zeile := zeile + '; ' + mQuery.Fields[i].asString;
die Komponente die ich einsetze kennt halt .Fields nicht
setze zur zeit die mODBC ein :(

ich weiss die tQuery kanns auch

gibs sonst eine alternative für mQuery.Fields[i] ?

Delphi3 10. Feb 2010 16:33

Re: DBGrid -> CSV
 
hmm

wollte nun eine neue version von der mODBC installieren

naja und genau an der stelle harkt es
er erwartet immer hinter den Fields immer [] statt .

hmmm ist zum mäusemelken

p80286 10. Feb 2010 16:34

Re: DBGrid -> CSV
 
Entschuldige aber mODBC kennt FIELDS!

Meinen wir das gleiche?
Zitat:

Version: 1.09a last updated 09 Sep 2003
Platform: D3, D4, D5, D6, D7, CB3 & ODBC 3.0
Sources: available
Autor: Konstantin Savelyev
Edit:
klar
Delphi-Quellcode:
Fields[i].Fieldname
Fields[i].asstring
Du mußt ja das Feld aussuchen um das es geht.

Gruß
K-H

Delphi3 10. Feb 2010 16:43

Re: DBGrid -> CSV
 
naja

ja

ich nehme aber eine andere version

http://www.tedsoft.de/mOBDC/download...2002-09-19.zip

Delphi3 10. Feb 2010 16:50

Re: DBGrid -> CSV
 
verdammt

quark
ich bin dumm
das ist garnicht das problem

und zwar das problem ist leider in einer anderen zeile

Delphi-Quellcode:
 mQuery.Fields.Count -1
naja da muss ich wissen wieviele spalten es gibt :(

hmm dumm

p80286 10. Feb 2010 16:56

Re: DBGrid -> CSV
 
Ich hab Dir was herauskopiert, ist zwar Futter für ein Stringgrid aber das Prinzip ist das gleiche:

Delphi-Quellcode:
var
  tl : tStringlist;
....
  tl:=tStringlist.Create;
  ....
  if not DM_1.mQuery1.eof then begin
    for i:=0 to DM_1.mQuery1.fieldcount-1 do
      dummy:=dummy+DM_1.mQuery1.fields[i].fieldname+#9;
    delete(dummy,length(dummy),1); {trailing TAB to delete}
    tl.add(dummy);

    repeat
      dummy:='';
      for i:=0 to DM_1.mQuery1.fieldcount-1 do
        dummy:=dummy+DM_1.mQuery1.fields[i].asstring+#9;
      delete(dummy,length(dummy),1); {trailing TAB to delete}
      tl.add(dummy);
      DM_1.mQuery1.next;
    until DM_1.mQuery1.eof;
  end
Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:13 Uhr.
Seite 1 von 3  1 23      

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