Autor Beitrag
flyhigh83
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67

Win 7
C# (VS2010)
BeitragVerfasst: Di 28.12.10 16:30 
Hallo,

ich habe jetzt schon einige Beiträge gelesen und auch etwas gefunden, was ich selbst schon nutze aber noch nichts was auf mein Problem hinzielt.

Ich habe ein Form, welches eine DataGridview und einige TextBoxen für die Daten hat.
Jetzt habe ich ein TabControl eingefügt. Auf dieses TabControl habe ich eine Verknüpfte Tabelle gezogen.
Diese Zeigt mir nur Daten an, welche über die Relation mit dem Ausgewählten Datensatz meines Forms zu tun hat.
Soweit so gut. Hoffe das genügt für die grobe Beschreibung.

Jetzt habe ich auf dem Form ein Button. Diesen klicke ich an und will alle geänderten Daten speichern.
Ich habe mir extra noch eine Methode geschrieben "UpdateDatabase()". Diese schaut ob bereits jemand anderes die Daten geändert hat, was zu meinem Problem aber jetzt nicht relevant ist.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
private void toolStripButtonRefresh_Click(object sender, EventArgs e)
{
  this.tabelle1BindingSource.EndEdit();
  this.subtabelle2BindingSource.EndEdit();
  UpdateDatabase();
}

private void UpdateDatabase()
{
  try
  {
    this.dbDataSet.AcceptChanges();
    this.dbDataSet.anbieter_namen.AcceptChanges();
    this.tabllenAdapterManager.UpdateAll(this.dbDataSet);
    this.tabelle1TableAdapter.Update(this.dbDataSet.tabelle1);
    this.subtabelle2TableAdapter.Update(this.dbDataSet.subtabelle2);
  }
  catch (DBConcurrencyException dbcx)
  {
    ...
  }
}


Mein Probelm:


Wenn ich das Update durchführe werden zwar die Datensätze welche ich in Tabelle 1 geändert habe durchgeführt.

Zusatz: alle wo ein Datensatzwechsel stattgefunden hat und etwas geändert wurde und der aktuelle, in dem man noch steht und etwas geändert wurde.

Aber in der subtabelle2 wird nur das geändert wo man gerade steht und etwas ändert.

Was kann ich da ändern? Komischerweise zeigt er natürlich alles sauber an wenn man in den Datensätzen hin und her springt. Also in den Temporären Tabellen scheint alles zu stehen, welche beim laden des Forms gefüllt worden. Nutze ich beim Update die falschen Tabellen? Ich verstehe es nicht ganz.

Leider habe ich beim MSDN auch nicht viel gefunden was mir die Lokig und das Updateverhalten der Tabeladappter gut erklären könnte.

Hier noch der Beitrag den ich gefunden hatte

www.c-sharp-forum.de...ghlight=update+table

Nachtrag
PS: Meine Vermutung ist das es irgend wie an der verküpfung liegt. Da vermutlich die Tabelle immer wieder frisch gefüllt wird wenn ich einen anderen Datensatz auswähle. Aber irgendwie sollte das ja tortzdem gehen. Da er ja die Infos tortzdem gespeichert hat.