Announcement

Collapse
No announcement yet.

Fehler: Die Auflistung wurde geändert; möglicherweise wurde die Enumeration nicht ausgeführt.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehler: Die Auflistung wurde geändert; möglicherweise wurde die Enumeration nicht ausgeführt.

    Die Fehlermeldung:

    Die Auflistung wurde geändert; möglicherweise wurde die Enumeration nicht ausgeführt.

    erhalte ich wenn ich eine DataTable zunächst fülle, anschließend mit der Routine:

    foreach (DataRow row3 in _AuftragDS.AuftragBatchExtra.Rows)
    {
    row3.Delete();
    }

    leere. Danach wieder fülle. Und dann wieder mit dieser Routine leere.

    Was will mir diese Fehlermeldung sagen? Was mache ich falsch?

    mfg
    Thomas

  • #2
    Du darfst im foreach die Collection über die du iterierst nicht verändern. Löschen eines Datensatzes gehört definitiv zum ändern

    Mußt also für so etwas auf einen anderen Schleifenkonstrukt ausweichen(for, while etc.).
    Wenn du eine Datatable oder RowsCollection einfach komplett leer haben willst tuts aber auch ein Datatable.Rows.Clear() oder Datatable.Clear().

    Ral

    Comment


    • #3
      Hallo!!!

      Danke für die schnelle Hilfe. Ich stecke in meinem ersten .net Projekt und so langsamm wird die Zeit knapp. Deshalb noch einmal vielen Dank.

      Ich möchte jedoch die Frage noch erweitern:

      Mit Delete lösche ich doch eigentlich nicht den Datensatz - oder?
      Ich wollte den Datensatz lediglich als "Deleted" kennzeichnen um bei einem Update den Datensatz aus der Quelldatenbank zu löschen.

      Der Member Clear() löscht doch den Inhalt und würde bei einem Update die "alten" Datensätze nicht entfernen -oder ?

      Bin für jede Antwort dankbar!!

      Thoma

      Comment


      • #4
        Mit dem Clear hast du Recht.
        Muß wohl doch eine Schleife her.
        z.b. sowas

        while(_AuftragDS.AuftragBatchExtra.Count >0)
        _AuftragDS.AuftragBatchExtra.Rows[0].Delete;

        Ral

        Comment


        • #5
          Hallo!

          Noch einmal vielen Dank, für die Hilfe!

          Ich glaube Du hast Recht. Nachdem ich nocheinmal nachgedacht habe glaube ich das Probelm endeckt zu haben. Muß das jedenfalls noch einmal testen.

          Ich glaube:
          Wenn ich Datensätze zu einer Tabelle zufüge und diese anschließend (ohne Update) lösche, so werden diese GLAUBE ich aus der Datenmenge gelöscht. Damit habe ich dann ja doch die Collection geändert. Dummer Fehler.

          Noch einmal vielen Dank.

          mfg
          Thomas Sparenber

          Comment

          Working...
          X