Hallo in die Runde
Ich habe ein kleines Problem mit start typerisierten datasets und datengebundenen DataGridViews unter VS2005 und C#.
Ich habe bisher einiges mit ADO gemacht, jedoch habe ich immer ohne Datenbindung gearbeitet ... (wahrscheinlich weil ich früher viel mit C++ gemacht habe und das da nicht so "schön" ging).
Nach ein bischen Einlesen bin ich aber zu dem Entschluss gekommen, dass Datenbindung unter .Net 2.0 doch recht gut gelöst sein muss, vor allem weil man fast nur positives darüber hört. Gehört.... ausprobieren wollen ... die ersten Probleme tauchen auf...
Zwei Fragen:
1) Ich habe ein DataGridView welches an die Master Tabelle gebunden ist. Über eine Raltion (Relation and foreign Key Costraint, alle rules auf cascade) sind die Details an ein weiteres DataGridView gebunden.
Der Designer erzeugt mir für beide Tabellen BindigSources.
Die Anzeige der Daten funktioniert einwandfrei (beim CurrentChange von dem MasterBindigsource lade ich die Daten via DetailTableAdapter ins Dataset).
Das Speichern der Daten funktioniert auch auf dem Master nicht jedoch in dem Detail-Grid.
In der Speicherfunktion rufe ich EndEditing auf beide BindingSources auf und dann TableAdapterMaster.Update und TableAdapterDetail.Update.
Beim Detail krieg ich aber ne Fehlermeldung:
"Concurrency violation: the UpdateCommand affected 0 of the expected 1 records."
Woran liegt das? Ich sehe, dass der TableAdapter ein UpdateCommand beinhaltet.
So was ähnliches passiert auch beim Löschen. Der MasterDatensatz ist gelöscht, nicht jedoch der Detail.
2) Was ist der beste Weg um in einem DataGridView Daten aus mehreren Tabellen anzuzeigen? Ich denke da an z.B. Lookup Tabellen, also z.B. Ländernamehn aus dem LanderCode der bei einem User hinterlegt sind.
Sowas am besten über joins lösen?
Vielen Dank schonmal für eure Mühe
PS: So wenig code und schon so viel Funktion ... ich bin fasziniert
Ich habe ein kleines Problem mit start typerisierten datasets und datengebundenen DataGridViews unter VS2005 und C#.
Ich habe bisher einiges mit ADO gemacht, jedoch habe ich immer ohne Datenbindung gearbeitet ... (wahrscheinlich weil ich früher viel mit C++ gemacht habe und das da nicht so "schön" ging).
Nach ein bischen Einlesen bin ich aber zu dem Entschluss gekommen, dass Datenbindung unter .Net 2.0 doch recht gut gelöst sein muss, vor allem weil man fast nur positives darüber hört. Gehört.... ausprobieren wollen ... die ersten Probleme tauchen auf...
Zwei Fragen:
1) Ich habe ein DataGridView welches an die Master Tabelle gebunden ist. Über eine Raltion (Relation and foreign Key Costraint, alle rules auf cascade) sind die Details an ein weiteres DataGridView gebunden.
Der Designer erzeugt mir für beide Tabellen BindigSources.
Die Anzeige der Daten funktioniert einwandfrei (beim CurrentChange von dem MasterBindigsource lade ich die Daten via DetailTableAdapter ins Dataset).
Das Speichern der Daten funktioniert auch auf dem Master nicht jedoch in dem Detail-Grid.
In der Speicherfunktion rufe ich EndEditing auf beide BindingSources auf und dann TableAdapterMaster.Update und TableAdapterDetail.Update.
Beim Detail krieg ich aber ne Fehlermeldung:
"Concurrency violation: the UpdateCommand affected 0 of the expected 1 records."
Woran liegt das? Ich sehe, dass der TableAdapter ein UpdateCommand beinhaltet.
So was ähnliches passiert auch beim Löschen. Der MasterDatensatz ist gelöscht, nicht jedoch der Detail.
2) Was ist der beste Weg um in einem DataGridView Daten aus mehreren Tabellen anzuzeigen? Ich denke da an z.B. Lookup Tabellen, also z.B. Ländernamehn aus dem LanderCode der bei einem User hinterlegt sind.
Sowas am besten über joins lösen?
Vielen Dank schonmal für eure Mühe
PS: So wenig code und schon so viel Funktion ... ich bin fasziniert
Comment