Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
In leerzeichengetrenntem .txt-File suchen (DGV)
ROHRAX
myCSharp.de - Member



Dabei seit:
Beiträge: 147

Themenstarter:

In leerzeichengetrenntem .txt-File suchen (DGV)

beantworten | zitieren | melden

Hallo,

ich habe ein .txt-File mit ca. 480.000,00 Datensätzen, die leerzeichengetrennt sind.
Den Inhalt möchte ich über ein DataGridView darstellen. Damit der User nicht erst lange warten muss, bis die Datei geladen ist und es auch unzumutbar wäre, den User in eben knapp dieser Datenmenge etwas suchen zu lassen, möchte ich ein Suchfeld einbinden, dass die Ergebnise im DataGridView darstellt.
Wie gehe ich hierbei - auch aus Sicht der Performance - am besten vor?
Um einen StreamReader werde ich wohl nicht rumkommen, oder?

Grüße!
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von ROHRAX am .
private Nachricht | Beiträge des Benutzers
blutiger_anfänger
myCSharp.de - Member



Dabei seit:
Beiträge: 293
Herkunft: Meerbusch, NRW

beantworten | zitieren | melden

Bei 480.000 Einträgen ein txt-File zu nutzen ist meiner Meinung nach unangemessen. Da wirst du auch nie eine vernünftige Performance erreichen...
Warum schreibst du nicht eine Routine, die das txt-File einliest und die Datensätze in eine Datenbank einträgt, mit der du dann weiterarbeitest.
Das wäre in meinen Augen aufjedenfall sinnvoller.

viele Grüße,
Raffi
Wenn ich nicht hier bin, findest du mich auf code-bude.net.
private Nachricht | Beiträge des Benutzers
schaedld
myCSharp.de - Member

Avatar #avatar-2533.jpg


Dabei seit:
Beiträge: 1.433
Herkunft: Schweiz

beantworten | zitieren | melden

Wenn ich soviele Datensätze hätte, dann würde ich ein CSV verlangen, dass wäre ein wenig strukturierter.

Wenn Du den Inhalt ins GridView binden willst, musst Du dir im klaren sein was Du zeigen möchtest. Wenn mehrere Spalten angezeigt werden sollten, dann musst Du dir manuell eine DataTable machen die dann als DataSource ans GridView gebunden werden kann.

Ist dann in diesem Text-File nur eine Tabelle der DB betroffen oder werden Dir verschiedene Datensätze von verschiedenen Tabellen geliefert?

Wir mein Vorredner sagt: Ich würde ein CSV verlangen, dieses in die DB importieren und dann die Daten von der DB holen.
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
private Nachricht | Beiträge des Benutzers
Single Malt
myCSharp.de - Member

Avatar #avatar-3053.png


Dabei seit:
Beiträge: 49
Herkunft: Hessen

beantworten | zitieren | melden

Eine CSV Datei kann auch durch Leerzeichen getrennt sein. Es heisst zwar Comma Separated Values, aber es kann auch ein ? oder ; oder jedes andere Zeichen sein.
CSV bei Wikipedia

Die Hauptsache ist, das es sich mit den Daten nicht in die Quere kommt.
Ob du das Ganze in eine DB oder einfach in eine Datatable lädst ist wieder eine Frage der Umgebungsbedingungen. Wobei eine Datenbank sicher um einiges schneller ist.
Wenn du die Daten dann geladen hast kannst du sie mit den üblichen Methoden abfragen.


@blutiger_anfänger: Ich habe hier neulich ein CSV mit rund 1,5mio Datensätzen verarbeiten müssen. Für das was es war, nämlich eine sehr einfache Tabelle die mit einem Stick von A nach B gebracht wurde, war es absolut angemessen. Es kommt halt immer auf den Zweck an.

VG Single Malt
private Nachricht | Beiträge des Benutzers