AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Daten aus OracleDB mit Delphi in csv exportieren
Thema durchsuchen
Ansicht
Themen-Optionen

Daten aus OracleDB mit Delphi in csv exportieren

Ein Thema von blema · begonnen am 17. Feb 2015 · letzter Beitrag vom 21. Feb 2015
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#21

AW: Daten aus OracleDB mit Delphi in csv exportieren

  Alt 20. Feb 2015, 09:07
Hi, ich habe gerade das in meinem Programm eingebaut, aber es ist immer noch wie unter #13. Kein Fehler aber auch keine SpaltenName.
Ich sehe nicht, wo der Wert Spaltenname ausgegeben wird. Das hast Du wohl vergessen.
Sprich es fehlt ein List.Add(Spaltenname)
Ralph
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#22

AW: Daten aus OracleDB mit Delphi in csv exportieren

  Alt 20. Feb 2015, 09:10
Sprich es fehlt ein List.Add(Spaltenname)
Na das hätte er sicher noch rausbekommen.
Gruß, Jo
  Mit Zitat antworten Zitat
blema

Registriert seit: 5. Feb 2015
48 Beiträge
 
#23

AW: Daten aus OracleDB mit Delphi in csv exportieren

  Alt 20. Feb 2015, 09:53
danke für die Tipps. Die Ausgabe funktioniert zwar nicht so wie es sein soll, aber immerhin es wird sowohl Spaltenname als auch Datenfeld angezeigt.
Delphi-Quellcode:
var
  List: TStringList;
  SpaltenName : String;
  DatenFeld: String;
  I: Integer;
begin
  SpaltenName := '';
  List := TStringList.Create;
  try
    FDQuery1.First;
    SpaltenName := '| ';
    for I := 0 to FDQuery1.FieldCount -1 do
    begin
        SpaltenName := SpaltenName + '' + FDQuery1.Fields[I].Fieldname + ' | ';
    end;
    while not FDQuery1.Eof do
    begin
      DatenFeld := '| ';
      for I := 0 to FDQuery1.FieldCount - 1 do
      begin
        DatenFeld := DatenFeld + '' + FDQuery1.Fields[I].AsString + ' | ';
      end;
      List.Add(SpaltenName);
      List.Add(DatenFeld);
      FDQuery1.Next;
    end;
  finally
    List.SaveToFile('C:\Projekte\oraTOcsv.csv');
    List.Free;
  end;
end;
Also das Problem ist, das: eine Zeile Spaltenname angezeigt und die nächste dann das Datenfeld, usw...und wie kriegt man hin, dass die Breite des Datenfeldes und Spalten-Breite gleich groß sind?

Besten Dank

VG blema
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#24

AW: Daten aus OracleDB mit Delphi in csv exportieren

  Alt 20. Feb 2015, 10:16
Hallo,

bei einem csv File ist es nicht zwingend notwendig das die Spalten gleich groß sind.
Der Spaltentrenner ist das "," und die Programme (Excel) welche das csv File dann einlesen
trennen die Spalten anhand des Spaltetrenners und nich anhand der Spaltengröße.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
blema

Registriert seit: 5. Feb 2015
48 Beiträge
 
#25

AW: Daten aus OracleDB mit Delphi in csv exportieren

  Alt 20. Feb 2015, 10:28
Hallo Klaus,
ich habe gerade die csv Datei mit Excel geöffnet. Leider werden die Spalten auch nicht getrennt ^^. Es wird die ganze Datei in eine Spalte angezeigt. noch 'n Fehler^^..danke für den Tipp.
Aber, dass der Spaltename wiederholt wird, der Fehler ist immer noch drin.

VG blema
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#26

AW: Daten aus OracleDB mit Delphi in csv exportieren

  Alt 20. Feb 2015, 10:35
Delphi-Quellcode:
var
  List: TStringList;
  SpaltenName : String;
  DatenFeld: String;
  I: Integer;
begin
  SpaltenName := '';
  List := TStringList.Create;
  try
    FDQuery1.First;
    SpaltenName := '| ';
    for I := 0 to FDQuery1.FieldCount -1 do
    begin
        SpaltenName := SpaltenName + '' + FDQuery1.Fields[I].Fieldname + ' | ';
    end;
    // List.Add(SpaltenName) hier einfügen
    while not FDQuery1.Eof do
    begin
      DatenFeld := '| ';
      for I := 0 to FDQuery1.FieldCount - 1 do
      begin
        DatenFeld := DatenFeld + '' + FDQuery1.Fields[I].AsString + ' | ';
      end;
      List.Add(SpaltenName); // hier entfernen
      List.Add(DatenFeld);
      FDQuery1.Next;
    end;
  finally
    List.SaveToFile('C:\Projekte\oraTOcsv.csv');
    List.Free;
  end;
end;
Zu Excel,
Excel öffnen, Data Tab öffnen, aus TextDatei importieren.
Dann kannst Du in Excel den Spaltetrenner einrichten.
'|' ist kein csv Spaltentrenner.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#27

AW: Daten aus OracleDB mit Delphi in csv exportieren

  Alt 20. Feb 2015, 10:37
Hallo Klaus,
Aber, dass der Spaltename wiederholt wird, der Fehler ist immer noch drin.
Du fügst die Spaltennamen ja auch vor jedem Datensatz in die Liste ein.

Hallo Klaus,
ich habe gerade die csv Datei mit Excel geöffnet. Leider werden die Spalten auch nicht getrennt ^^.
Du verwendest auch kein Komma als Trennzeichen.


Zu beachten ist auch:
Kein Trennzeichen vor der ersten Spalte
Keine Leerzeichen hinzufügen.

Denke auch bitte daran, dass Du Strings eventuell auch noch "quoten" und/oder "escapen" musst.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.

Geändert von BadenPower (20. Feb 2015 um 10:56 Uhr)
  Mit Zitat antworten Zitat
blema

Registriert seit: 5. Feb 2015
48 Beiträge
 
#28

AW: Daten aus OracleDB mit Delphi in csv exportieren

  Alt 20. Feb 2015, 10:58
jo, es klappt. Fehlerhaft war es das Trennzeichen und die Position der Ausgabe von der SpaltenName. Jetzt kann die csv-Datei auch mit Excel problemlos angezeigt werden.

Vielen Dank.

VG blema
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#29

AW: Daten aus OracleDB mit Delphi in csv exportieren

  Alt 20. Feb 2015, 11:22
jo, es klappt.
Aber nur so lange, wie Deine Daten in den Datenfeldern nicht auch das Trennzeichen enthalten.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
ThomasBab

Registriert seit: 7. Mai 2007
Ort: Hallenberg
57 Beiträge
 
FreePascal / Lazarus
 
#30

AW: Daten aus OracleDB mit Delphi in csv exportieren

  Alt 20. Feb 2015, 13:40
jo, es klappt.
Aber nur so lange, wie Deine Daten in den Datenfeldern nicht auch das Trennzeichen enthalten.
Deswegen nehme ich als Trennzeichen seit Jahrzehnten immer das Tab-Zeichen (#09)
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    


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 09:29 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