DataTable.AcceptChanges führt zu Exception

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    DataTable.AcceptChanges führt zu Exception

    Hallo zusammen,

    ich versuche grade ein Problem zu lösen, dessen Ursache sich mir einfach nicht erschliesst. Ich führt nach einem Update auf der DB ein DataTable.AcceptChanges aus. Dies sollte ja nur den RowState der Rows auf unchanged setzen. Wenn ich in meiner DataTable eine Row ändere, so wird der RowState auf modified gesetzt. Anschliessend möchte ich eine andere DataRow deleten. In diesem Fall löst DataTable.AcceptChanges folgende Exception aus:

    Quellcode

    1. ExecuteNonQuery erfordert, dass der Befehl über eine Transaktion verfügt, wenn die dem Befehl zugewiesene Verbindung eine ausstehende lokale Verbindung ist. Die Transaction-Eigenschaft des Befehls wurde nicht initialisiert.


    Dies passiert wirklich im AcceptChanges, nicht im Update, und auch nur dann wenn eine modified DataRow in der DataTable enthalten ist. Führe ich zum Test zuvor eine RejectChanges auf die modified DataRow aus, so klappt auch Table.AcceptChanges.

    Weiss jemand, was hier los ist? AcceptChanges führt doch kein DB-Update aus, wieso dann diese Fehlermeldung? Ein ExecuteNonQuery habe ich nirgends im Code, wenn dass muss Update dies vielleicht intern erzeugen, das Update läuft aber problemlos.

    Gruss,
    HTP.ProXy