Concurrency Exception im Update eines DatagridView

MortenV

Mitglied
Hi,
ich habe folgendes Problem:
ich lasse mir den Inhalt EINER Tabelle in einem DataGridView anzeigen.

Code:
// da = DataAdapter
// ds = DataSet

SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
da = new SqlDataAdapter(sqlString, conn);
ds = new DataSet();
SqlCommandBuilder cb = new SqlCommandBuilder(da);
da.Fill(ds);
bindingSource1.DataSource = ds.Tables[0];
bindingNavigator1.BindingSource = bindingSource1;
dataGridView1.DataSource = bindingSource1;
dataGridView1.Columns[0].Visible = false;
toolStripButton1.Enabled = true;

Ich editiere die Datensätze und in der Tabelle lasse danach updaten:

Code:
this.Validate();
this.bindingSource1.EndEdit();

if (ds.HasChanges()){
da.Update(ds.GetChanges());
ds.AcceptChanges();
 }

Für einzelne Datensätze funktioniert es super. Wenn ich allerdings neue Sätze hinzufügen und/oder bereits vorhandene Datensätze editiere, bekomme ich eine Concurrency Exception..

Das ganze läuft unter VS2005,
single user DB (SQL Server 2005)

Gruß Morten
 
Zuletzt bearbeitet:
Da ich vermutete dass die Daten im DataSet nach dem Editieren im Grid nicht mehr konsistent sind, habe ich das DataSet nach dem Update disposed. Danach werden die Daten neu geladen..

Nun funktionierts ohne Exception. Wenn mir das jemand genauer erklären kann:
Ich bin ganz ohr :)

gruß Morten
 
Zurück