Autor Beitrag
thas11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25



BeitragVerfasst: Mo 14.03.11 00:36 
Hallo zusammen!

Ich arbeite mit einem Dataset und lese zu beginn alle Daten aus einer Tabelle.
Nun hab ich schon verstanden wie ich dieses Datenset ändere(hinzufügen, löschen und updaten) und dann wieder in die Datenbank speicher....
ABER nun meine Frage:

Ich möchte zwischendurch einzelne Datarows von der Datenbank wieder zur aktualisierun runterladen, um zu sehen ob jemand anderer inzischen die Daten geändert hat...

Kann mir hier jemand auf die Sprünge helfen ??

Danke & lg,
Wolfi
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Mo 14.03.11 07:49 
Hi,

dann musst du eine gezielte Abfrage stellen. Benötigst du das wirklich? Es gibt mittels ADO.Net die so genannte Vollständige Parallelität, diese Überwacht genau deinen Fall und feuert ein Event.

_________________
Gruß
Christoph
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Mo 14.03.11 08:11 
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.
ausblenden 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
thas11 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25



BeitragVerfasst: Do 17.03.11 01:47 
Hi!

Sorry für die späte Antwort. Ich bin erst heute dazu gekommen, dass ich es ausprobieren...
Funktioniert mit den DataTable wunderbar.... ;)

DANKE für die Hilfe & lg,
thas