DB Zeilenweise lesen und in Textdatei Spaltenweise schreiben



  • Hallo C++ Community,

    Ich lese eine Datenbank Zeilenweise aus. Nun habe ich eine Textdatei und möchte die Werte dort Spaltenweise eintragen. In meinem Beispiel mit einem Pipe ("|") Symbol getrennt. Die Werte var1, var2 & var3 stehen bereits in der Textdatei so das man hier Stringreplace nehmen kann um die korrekte Position zu ermitteln.

    Beispiel:

    erster Lesevorgang DB: 
    wert1, wert2, wert3
    
    zweiter Lesevorgang DB: 
    wert4, wert5, wert6
    
    Text soll dann so aussehen:
    var1 = wert1|wert4
    var2 = wert2|wert5
    var3 = wert3|wert6
    

    Mein Problem ist nun: Wie kann ich Spaltenweise in eine Textdatei Schreiben ?



  • Spaltenweise schreiben funktioniert nicht. Du kannst aber die Werte in einem Feld zeilenweise zwischenspeichern und wenn du mit der Datenbank fertig bist das Feld in die Datei schreiben.



  • Du schreibst die Werte aus dem ersten Durchgang in eine TStringList.
    Beim zweiten Durchgang hängst du dann an jede Zeile den nächsten Wert an.
    Zum Schluss speicherst du dann die StringList mit SaveToFile.



  • Ja genau das ist es! Also mit Stringlisten arbeite ich ja schon. Aber genau an "jede Zeile den nächsten Wert anhängen" harperts bei mir. Wie macht man sowas ?



  • zum Beispiel so:

    LiesAusDatenbank(Wert1,Wert2,Wert3);
    StringList->Values["var1"]=Wert1;
    StringList->Values["var2"]=Wert2;
    StringList->Values["var3"]=Wert3;
    LiesAusDatenbank(Wert4,Wert5,Wert6);
    StringList->Values["var1"]=StringList->Values["var1"]+"|"+Wert4;
    StringList->Values["var2"]=StringList->Values["var2"]+"|"+Wert5;
    StringList->Values["var3"]=StringList->Values["var3"]+"|"+Wert6;
    


  • Ahh super passt ... ich denke manchmal einfach zu Kompliziert 😉
    Danke lock_e & Morris Szyslak


Anmelden zum Antworten