Benutzer mit den meisten Antworten
rowB.ItemArray=rowA.ItemArray mir ReadOnly Spalte

Frage
-
Hallo zusammen,
kann mir jemand etwas dazu sagen.
Ich möchte den Inhalt einer typsierten DataRow (mit Designer erstelltes DataSet) in eine andere übertragen.
Ich habe in jeder Tabelle eine TimeStamp Spalte, die wird vom Designer auf ReadOnly gesetzt.
Was für mich seltsam ist.
Mit den Rows mancher Tabellen ist es möglich, eine ItemArray Zuweisung zu machen, bei anderen nicht.Kann mir jemand sagen wieso?
Gruss Peter
Antworten
-
Hallo Peter,
wenn eine DataColumn als ReadOnly gekennzeichnet ist, kann sie bei einer Zuweisung nicht mehr geändert werden, das gilt sowohl für die Zuweisung als einzelne Spalte als auch via ItemArray.
Um die Spalte verändern zu können, muss zwischenzeitlich ReadOnly auf Falsch gesetzt werden - sinnvollerweise in einem Try ... Finally damit die Einstellung auch bei einer Ausnahme bei der Zuweisung am Ende wieder Wahr ist.
Eventuell passt aber in Deinem Fall auch LoadDataRow womit man das Umgehen kann.
Bei einer TimeStamp / RowVersion Spalte sollte man auf ReadOnly nicht verzichten, da es einem DataAdapter signalisiert, dass die Spalte nicht übertragen wird - was zu einem Fehler führen würde.
Gruß Elmar
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Montag, 1. Dezember 2014 09:05
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 2. Dezember 2014 13:48
Alle Antworten
-
Hallo Peter,
wenn eine DataColumn als ReadOnly gekennzeichnet ist, kann sie bei einer Zuweisung nicht mehr geändert werden, das gilt sowohl für die Zuweisung als einzelne Spalte als auch via ItemArray.
Um die Spalte verändern zu können, muss zwischenzeitlich ReadOnly auf Falsch gesetzt werden - sinnvollerweise in einem Try ... Finally damit die Einstellung auch bei einer Ausnahme bei der Zuweisung am Ende wieder Wahr ist.
Eventuell passt aber in Deinem Fall auch LoadDataRow womit man das Umgehen kann.
Bei einer TimeStamp / RowVersion Spalte sollte man auf ReadOnly nicht verzichten, da es einem DataAdapter signalisiert, dass die Spalte nicht übertragen wird - was zu einem Fehler führen würde.
Gruß Elmar
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Montag, 1. Dezember 2014 09:05
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 2. Dezember 2014 13:48
-
Hallo Peter,
Ich gehe davon aus, dass Elmars Antwort Dir weitergeholfen hat. Solltest Du noch Rückfragen dazu haben, gib bitte Bescheid.
Gruß,
DimitarBitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.