Hallo,
naja, Du kannst bei dem TableAdapter eigene SQL-Abfragen hinzufügen, wo z.B. nur Daten geladen werden, die einen bestimmten Kriterium erfüllen.
SQL-Anweisung
1:
| SELECT * FROM Table WHERE id = @id; |
Dann werden standardmäßig zwei Methoden erstellt, eine, die Dir eine DataTable füllt und eine, die Dir eine DataTable zurückgibt. Nun könntest Du also die Daten mit einer Id neu aus der Datenbank abfragen.
Wenn Du die Fill-Methode davon verwendest und die Table in Deinem schon gefüllten DataSet damit füllst, werden Daten, die in der Datenbank geändert wurden, auch in der DataTable eingepflegt und auf den Status Unchanged gesetzt. Bei Daten, die in der Zwischenzeit in der Datenbank gelöscht wurden passiert aber gar nichts (sie werden also nicht automatisch auf den Status Deleted gesetzt)! Wenn Du diese Methode benutzt, musst Du auch die Property des TableAdapters "ClearBeforeFill" auf false setzen, da sonst die Table erstmal geleert wird.
Wenn Du die GetData-Methode benutzt, bekommst Du wie gesagt eine DataTable mit dem Datensatz aus der Datenbank zurück (wenn sie denn nicht gelöscht wurde). Und dann kannst Du auf die Table aus Deinem DataSet ein Merge mit der geladenen Table ausführen.
Soviel erstmal, bei weiteren Fragen frage ruhig.
LG, Marko