Opérations:problème étrange avec la mise à jour la base de données du dataset
Supprimer dans DataGridView choisi la ligne du dataset:
FuDataSet.FuRow row = (FuDataSet.FuRow) ((DataRowView)FuBindingSource.Current).Row;
row.Delete();
Pour ajouter une nouvelle ligne que je fais:
FuDataSet.FuRow row = FuDataSet.Fus.NewFuRow();
row.Someting = "Some initial Content";
row.SomethingElse = "More Initial Content";
...
FuDataSet.Fus.AddFuRow(row);
Enregistrement des modifications de l'utilisateur dans la ligne actuelle dans l'ensemble de données:
FuDataSet.FuRow row = (FuDataSet.FuRow) (((DataRowView) FuBindingSource.Current).Row);
row.Someting = someTextBox.text;
...
Enregistrer dans la base de données:
Validate();
FuBindingSource.EndEdit();
FuTableAdapter.Update(FuDataSet.Fus); <-- Exception here
J'utilise DataGridView standard, Dataset, TableAdapter, BindingSource Scheme VS met automatiquement après la définition de la structure de base de données. Il n'y a qu'une seule table impliquée et SQL Server compact 3.5 est utilisé. Maintenant, mon problème est que je reçois une exception de simultanéité (DeletedRowInaccessibleException) chaque fois que je fais cela (en commençant par une base de données vide): Créer une nouvelle ligne, supprimer cette ligne, enregistrer dans la base de données, nouvelle ligne, enregistrer dans la base de données, supprimez cette ligne, enregistrez dans la base de données < - Exception
Je pense qu'il existe un problème de synchronisation entre la base de données et l'ensemble de données.
Si je recharge la base de données après chaque sauvegarde via FuTableAdapter.Fill (FuDataSet.Fus), le problème est résolu. Cependant, cela ne peut pas être l'intention que je pense.
J'espère que quelqu'un peut m'aider et repérer un échec dans la conception ou m'expliquer ce qui pourrait mal se passer.
Merci!
Est-ce que l'exception fournit une indication sur quelle ligne son erreur? – JoshBerke