none
Neuer Datensatz in ein DataSet importieren aus einer Textdatei RRS feed

  • Frage

  • Hallo zusammen,

    ich habe eine Text-Datei mit ca. 30.000 Zeilen.

    Mit einer If Else Anweisung selektiere ich die Zeilen, die Importiert werden müssen. Dies funktioniert auch ganz gut.

    Nun möchte ich aber in dem Anweisungblock der If Anweisung meine Zeile (Aufbau: FeldInhalt1;FeldInhalt2; .... FeldInhalt30) in ein DataSet schreiben.

    Ich finde leider nichts, wie ich meine eingelesene Zeile einfügen kann.

    Danke Euch für Eure Hilfe

    Mike

    Samstag, 28. Mai 2011 16:21

Antworten

Alle Antworten

  • Hallo Mike,

    zunächst musst Du Dir eine entsprechende DataTable erzeugen,
    die zu den Spalten und deren Datentypen passt, siehe
    Erstellen einer 'DataTable' (ADO.NET)

    Die Zeile selbst mit String.Split zerlegen - sofern Du es nicht bereits getan hast,
    und numerische, Datumsspalten ggf. konvertieren.

    Das Anfügen am Ende wäre das leichtere, dafür führe DataTable.Rows.AddRow aus,
    siehe Gewusst wie: Hinzufügen von Zeilen zu einer DataTable

    Gruß Elmar

    • Als Antwort markiert Mike Berger Freitag, 3. Juni 2011 21:10
    Samstag, 28. Mai 2011 19:18
    Beantworter
  • Hallo Elmar,

    vielen Dank für Deine Hilfe.

    Beim import bleibt die Anwendung stehen und geht erst weiter, wenn alle Daten importiert sind.

    Die ProgressBar wird aber währendessen nicht aktuallisiert.

    Woran kann dies liegen?

    Gruß

    Mike

    Freitag, 3. Juni 2011 21:11
  • Hallo Mike,

    das liegt daran, dass während der Ausführung von Code die Windows Meldungsschleife nicht bedient wird.

    Das sinnvollste ist in solchen Fällen die Arbeit in einen BackgroundWorker zu legen,
    und den Fortschritt über das ProgressChanged Ereignis anzuzeigen.

    Die Schmalspur-Variante wäre, Application.DoEvents aufzurufen.

    Gruß Elmar

    • Als Antwort markiert Mike Berger Sonntag, 19. Juni 2011 14:59
    Samstag, 4. Juni 2011 04:39
    Beantworter