Refresh bei aus Datenbank

07/06/2010 - 21:01 von Nico Wessels | Report spam
Hallo,

ich stelle in einem DataGridView per DataBinding Daten aus einer DB dar.
Das entsprechende Code-Fragment sieht man hier:

-
string sqlSelectCommand = String.Format("SELECT * FROM {0}", MY_TABLE);

DataSet dataset = new DataSet();
DbDataAdapter adapter = mydbconnector.GetDataAdapter(sqlSelectCommand);
adapter.Fill(dataset);

DataTable dataTable = dataset.Tables[0];
BindingSource bs = new BindingSource();
bs.DataSource = dataTable;
bindingnavigator.BindingSource = bs;
dataGridView.DataSource = datasource;
-

Beim Klick auf einen Button "Daten Aktualisieren" möchte ich die (neuen)
Werte aus der DB auslesen.

Eigentlich genügt es, erneut das "adapter.Fill(dataset)" aufzurufen und
schon müssten die Daten wieder ausgelesen und angezeigt werden. Wenn
dann zuvor das DataSet noch löscht, sollten nur noch die aktuellen Daten
aus der DB drin stehen.

Wie kann ich aber ein inkrementelles Update machen? Ich möchte, dass
wenn ein Benutzer bereits Änderungen gemacht hat, diese nicht verloren
gehen. Es sollen aber beim Aktualisieren auch keine Eintràge doppelt
auftauchen (z.B. durch das Fill erneut und doppelt in das DataSet
aufgenommen).

Wie geht man damit richtig um und wie sollte man das richtig machen?
 

Lesen sie die antworten

#1 Peter Fleischer
07/06/2010 - 21:47 | Warnen spam
"Nico Wessels" schrieb im Newsbeitrag
news:
...
Wie kann ich aber ein inkrementelles Update machen? Ich möchte, dass wenn
ein Benutzer bereits Änderungen gemacht hat, diese nicht verloren gehen.
Es sollen aber beim Aktualisieren auch keine Eintràge doppelt auftauchen
(z.B. durch das Fill erneut und doppelt in das DataSet aufgenommen).

Wie geht man damit richtig um und wie sollte man das richtig machen?



Hi Nico,
das macht man mit Fill und AddWithKey. Die zwischenzeitlich von anderen
Clients gelöschten Datensàtze werden damit aber nicht erkannt.

Viele Gruesse

Peter

Ähnliche fragen