Benötige Denkanstoß => Verschiedene Spalten aus 3 Tabellen zu einer CSV-Datei vereinen.



  • Hallo,

    da es in C# soweit ich weiß keine dynamischesn Arrays gibt, habe ich dank meines beschränkten Rechenzentrums im Kopf ein Problem auf dessen Lösung ich nicht komme.

    Und zwar habe ich eine Access-Datenbank(*.mdb) die mir täglich von einem Programm erzeugt wird. Den Aufbau dieser Datenbank kann ich nicht beeinfussen.

    In dieser Datenbank gibt es 15 Tabellen. Nun möchte ich aus beispielsweie 3 Tabellen einige Spalten lesen (immer die gleichen Spalten, aber nicht alle Spalten der Tabelle), und diese Daten in einer einzigen .CSV zusammenfügen.

    Wie würdet ihr das anstellen?

    P.S. die Daten einer einzelne Tabelle in eine CSV-Datei zu packen ist danke OleDB kein Problem, aber verschiedene Spalten aus 3 Tabellen zu einer Datei zu vereinen bekomme ich ohne dynamische Arrays nicht hin. Mit der ArrayList und den generischen Listen komme ich irgendwie nicht klar.

    Ich hoffe es kann mir jemand einen Denkanstoß liefern - lösen würde ich das Problem gerne selber.



  • Hi,

    wenn die Tabellen miteinander verknüpft sind, kann du doch einfach joinen, damit du alle Daten zusammen hast und nur eine Ausgabe, dann musst du dir keine Gedanken mehr machen wie du deine 3 Arrays zusammenführst.
    Bleibt die Struktur der DB denn gleich oder verändert die sich auch?

    Gruß

    Br34k3r



  • ... ohne dynamische Arrays nicht hin. Mit der ArrayList und den generischen Listen komme ich irgendwie nicht klar.

    dann setz Dich damit auseinander - das ist Dein "dynamisches" Array



  • Schau dir mal das an, vielleicht hilft dir das.Das ist zwar lesen, aber das schreiben ist ja dann noch einfacherer.
    http://dotnet-snippets.de/dns/c-csv-datei-in-datatable-einlesen-SID437.aspx

    ....
    da es in C# soweit ich weiß keine dynamischesn Arrays gibt,....

    Und wo bitte hast du das her? Das ist absoluter Quatsch.



  • Br34k3r schrieb:

    Hi,

    wenn die Tabellen miteinander verknüpft sind, kann du doch einfach joinen, damit du alle Daten zusammen hast und nur eine Ausgabe, dann musst du dir keine Gedanken mehr machen wie du deine 3 Arrays zusammenführst.
    Bleibt die Struktur der DB denn gleich oder verändert die sich auch?

    Gruß

    Br34k3r

    Ja, die Struktur der Datenbank bleibt gleich. Was das joinen betrifft => manchmal sieht man den Wald vor lauter Bäumen nicht. Danke, damit geht es wunderbar.

    Firefighter schrieb:

    Und wo bitte hast du das her? Das ist absoluter Quatsch.

    Unter anderem hier her - http://www.c-sharp-forum.de/topic_Dynamische+arrays+in+C_46236,0.html - aber in vielen anderen Foren in denen Anfänger gefragt haben ob es dynamische Arrays gibt, stand das gleiche. Daher bin ich davon ausgegangen das es keine dynamischesn Arrays gibt.

    Danke für eure Hilfe, ich werde zwar joinen, aber die andere Methode werde ich auch nochmal umsetzen. 🙂



  • Nein, das ist leider falsch was dort gepredigt wird. C# kennt sehr wohl Dynamische Arrays, sogar sehr gute :p



  • Firefighter schrieb:

    Nein, das ist leider falsch was dort gepredigt wird. C# kennt sehr wohl Dynamische Arrays, sogar sehr gute :p

    Hallo,

    ich habe vor 3 Wochen erst mit C# angefangen, und benutze DataTables als dynamisches Array. Meinst Du die, oder vergewaltige ich die DataTables gerade für etwas wofür sie nicht geschaffen wurden?



  • Hehe du vergewaltigst sie leider für etwas wofür sie nicht unbedingt geschaffen sind.

    Dynamische "Arrays" wie ihr sie kennt sind in C# nun als Listen implementiert.

    Siehe dazu:
    Generische Collections

    Da findet ihr alle Generischen/Dynamischen Collections die ihr braucht. Ihr müsst nur noch die für euren Anwendungsfall raussuchen.



  • Firefighter schrieb:

    Siehe dazu:
    Generische Collections

    Ah, vielen Dank. Das sind ja ziemlich viele Listen. Werde sie mir mal zu gemüte führen.

    Einen schönen Tag noch. 🙂


Anmelden zum Antworten