Hallo
Bin C# Anfänger und möchte mir eine kleine Datenbank basteln
Ich habe mir vom Assistenten eine Datenbank (Datenbankdatei) erstellen lassen und habe dann zwei Tabellen hinzugefügt.
Eine Mastertabelle mit MasterID und MasterWert und eine Detailtabelle mit DetailID, MasterID für die Relation und einen DetailWert.
Also jeder MasterWert hat X DetailWerte.
Wenn ich die Tabellen von Hand ändere funktioniert alles gut, auch speichern und löschen.
Ich möchte aber eigentlich die Daten von aussen eingeben.
Wenn ich die Mastertabelle über btnMasterWert_Click ändere ist auch alles ok.
Wenn ich die Detailtabelle über btnDetailWert_Click ändere habe ich lange herumprobiert.
Gibt es keinen besseren Weg die DetailTabelle zu ändern, ich muss immer voher den aktuellen RowIndex der Mastertabelle lesen, um die Relation korrekt in "MasterID" der DetailTabelle zu schreiben?
C#-Quelltext
1:
| anyRow["MasterID"] = rowindex.ToString(); |
Die Mastertabelle muss auch voher gespeichert werden um die richtige MasterID zu erhalten.
Danke.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| private void btnMasterWert_Click(object sender, EventArgs e) { DataRow anyRow = this.masterDetailDataSet.tableMaster.NewRow(); anyRow["MasterWert"] = "123"; this.masterDetailDataSet.tableMaster.Rows.Add(anyRow); save(); }
private void btnDetailWert_Click(object sender, EventArgs e) { int rowindex = tableMasterDataGridView.CurrentCell.RowIndex; rowindex += 1; DataRow anyRow = this.masterDetailDataSet.tableDetail.NewRow(); anyRow["MasterID"] = rowindex.ToString(); anyRow["DetailWert"] = "456"; this.masterDetailDataSet.tableDetail.Rows.Add(anyRow); save(); }
private void save() { this.Validate(); this.tableMasterBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.masterDetailDataSet); } |
Moderiert von
Th69: Beitragsformatierung überarbeitet.