Hallo,
ich habe folgende grundsätzliche Frage. Ich schreibe an einem Programm und benütze MySQL als Datenbank. Ich habe mir eine Klasse geschrieben, die für jede Tabelle im DataSet alle Select-, Update-, Insert- und DeleteCommands schreibt. Grundsätzlich funktioniert das alles ganz ordentlich. Wenn ich aber mehrere Zeilen im Dataset erstelle, z.B. in einem DataGridView, und diese im Pulk in die Datenbank schreiben will, dann habe ich noch eine ungeklärte Frage. Ich muss ja für jede neue Zeile eine ID für die Datatable anfragen bzw. festlegen. wenn ich jetzt mehrere Zeilen neue erstelle, dann hab ich in meiner Datatable z.b. die neuen IDs 10, 11, 12 13. Wenn nun ein weitere Client ebenfalls eine neue Zeile in die Datenbank schreibt, dann besetzt er z.b. die 10. Wenn nun der erste wiederum seine neuen Zeilen einträgt, dann passiert, so weit ichs verstanden habe, dass die Zeile mit der ID 10 eingetragen wird, dann die ID aber von der DB als 11 zurückgegeben wird und dann gibt es einen Fehler im DAtaset, weil die 11 ja nur einmal vorkommen darf, diese aber in den noch zu übertragenden Zeilen schon vorhanden ist. Eine Möglichkeit scheint mir Dataset.EnforceConstraints auf False kurzfristig zu setzen. Was gibt es für alternative Möglichkeiten?
Vielen Dank
Daniel
ich habe folgende grundsätzliche Frage. Ich schreibe an einem Programm und benütze MySQL als Datenbank. Ich habe mir eine Klasse geschrieben, die für jede Tabelle im DataSet alle Select-, Update-, Insert- und DeleteCommands schreibt. Grundsätzlich funktioniert das alles ganz ordentlich. Wenn ich aber mehrere Zeilen im Dataset erstelle, z.B. in einem DataGridView, und diese im Pulk in die Datenbank schreiben will, dann habe ich noch eine ungeklärte Frage. Ich muss ja für jede neue Zeile eine ID für die Datatable anfragen bzw. festlegen. wenn ich jetzt mehrere Zeilen neue erstelle, dann hab ich in meiner Datatable z.b. die neuen IDs 10, 11, 12 13. Wenn nun ein weitere Client ebenfalls eine neue Zeile in die Datenbank schreibt, dann besetzt er z.b. die 10. Wenn nun der erste wiederum seine neuen Zeilen einträgt, dann passiert, so weit ichs verstanden habe, dass die Zeile mit der ID 10 eingetragen wird, dann die ID aber von der DB als 11 zurückgegeben wird und dann gibt es einen Fehler im DAtaset, weil die 11 ja nur einmal vorkommen darf, diese aber in den noch zu übertragenden Zeilen schon vorhanden ist. Eine Möglichkeit scheint mir Dataset.EnforceConstraints auf False kurzfristig zu setzen. Was gibt es für alternative Möglichkeiten?
Vielen Dank
Daniel
Comment