Comment bien s'engager bindingSource modifications apportées à la source de DB?
J'configuration DataGridView et d'autres composants de l'INTERFACE utilisateur pour permettre à l'utilisateur de modifier les données de SQLite DB. Mais ces changements (même s'ils sont correctement affiche dans l'application) n'est pas enregistre dans la base de données. J'ai essayé ce code
aBindingSource.EndEdit();
dbDataSetA.GetChanges();
aTableAdapter.Update(dbDataSetA.Accounts);
mais il y a simultanéité exception:
Système.Les données.DBConcurrencyException était non gérée Message=Simultanéité
violation: le UpdateCommand touchées 0 de l'1 enregistrements.
Alors, comment dois-je commettre un bindingsource changements de DB, les gars?
POST EDIT
J'ai cette erreur quand je démarre le programme, puis cliquez sur la deuxième rangée dans DataGridView, puis sur la troisième et ce programme au moment de soulever une simultanéité d'exception. Espérons que son aider à obtenir cette question de manière plus détaillée.
Merci à l'avance, les gars!
Ok, merci, Marc! Alors, comment puis-je charger les données à nouveau pour montrer les changements d'utilisation?
OriginalL'auteur kseen | 2012-01-07
Vous devez vous connecter pour publier un commentaire.
Quelque chose comme cela?
Puis réaffecter dbDataSetA tant que source de données si nécessaire et l'utilisateur doit entrer les données à nouveau.
OriginalL'auteur watbywbarif
Eu le même problème. Astuce consiste, une fois que vous mettre à jour le tableau, vous devez "vide"
GetChanges()
. Vous le faire en appelant la méthodeAcceptChanges()
. Alors...Il doit travailler, à condition qu'il soit le même problème.
OriginalL'auteur TeM
Vous pouvez utiliser un Adaptateur en combinaison avec une commande de générateur, quelque chose comme ceci :
OriginalL'auteur aleroot
Peut-être surdimensionné, mais pouvez-vous essayer d'utiliser Transaction viens de lire ce Post, peut être utile :
Transactionnelle sqlite
OriginalL'auteur trouble