DevTrain Startseite Visual Studio 1 Magazin  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: ADO.NET | Thema: Probleme beim Updaten der Datenbank (RowState bleibt stur auf 'Unchanged')! | Von: Chris Nöther ( 23.11.2006 13:54)

Hallo,

ich habe ein Dataset (ds), und wenn ich dort Daten ändern will, dann erzeuge ich ein weiteres Fenster, binde die Komponenten und kann dann prima die Daten ändern. Aber er schreibt diese geänderten Daten nicht in die Tabelle zurück, und zwar, weil ds.HasChanges immer false anzeigt. Ich habe absolut keine Erklärung dafür. Der Code:

If CType(sender, ToolStripMenuItem).Name = "ZimmerBearbeitenToolStripMenuItem" Then
frmZimmerAusstBem.Text = "Zimmer bearbeiten für " + Name1Label1.Text
'frmZimmerAusstBem.cobZimmerbezeichnung.Enabled = False
frmZimmerAusstBem.cobZimmerbezeichnung.DataBindings.Add(New Binding("Text", bsZ, "Bezeichnung"))
frmZimmerAusstBem.txtAusstattung.DataBindings.Add(New Binding("Text", bsZ, "Ausstattung"))
frmZimmerAusstBem.txtBemerkungen.DataBindings.Add(New Binding("Text", bsZ, "Bemerkungen"))

If CType(frmZimmerAusstBem.ShowDialog(), DialogResult) <> Windows.Forms.DialogResult.OK Then
ds.RejectChanges()
End If
End If

m neuen Fenster selbst gibt's lediglich eine Codezeile von mir, und die lautet: Hide(). Woran liegt das? Wenn ich dieses neue Fenster mit Abbrechen verlasse, sodass ds.RejectChanges() aufgerufen wird, nimmt er tatsächlich alle bis dahin gemachten Änderungen zurück. Obwohl auch dort vorher ds.HasChanges() False ergibt. Ich kapier das nicht.

Oder, um es noch deutlicher zu machen:
MsgBox(ds.HasChanges.ToString) ' ergibt False
Dim r As DataRow = ds.Tables("dbZimmer").Rows.Find(tvZimmer.SelectedNode.Name.Substring(1))
r("Bezeichnung") = "Hallo"
MsgBox(ds.HasChanges.ToString) ' ergibt auch False

Wo liegt mein Fehler? Was mache ich falsch? Die Daten im Dataset werden korrekt geändert und angezeigt, dort ist die DataTable völlig in Ordnung. Allein der RowState wird nicht geändert und so kriege ich die Daten nicht gespeichert. Woran kann das nur liegen?

Hat jemand eine Idee? Bin für jeden Tip dankbar ...

Chris

PS: Übrigens habe ich zwei weitere Funktionen zum Löschen und Einfügen, beide arbeiten wunderbar. Nur geänderte Rows machen Ärger.



Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Building und Connecting Know-how

© Copyright 2003 ppedv AG