J'ai un problème simple :
J'ai un datagrid lié à dataset basé sur une base Access.
Lorsque je supprime un enregistrement dans le dataset,
l'enregistrement disparaît bien de mon datagrid, mais pas de la base.
Quand je ferme et rouvre mon appli, évidemment l'enregistrement est toujours
là.
Je fais bien un update de mon dataadapter après la suppression.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrick Philippot
Thierry wrote:
J'ai un problème simple : J'ai un datagrid lié à dataset basé sur une base Access. Lorsque je supprime un enregistrement dans le dataset, l'enregistrement disparaît bien de mon datagrid, mais pas de la base. Quand je ferme et rouvre mon appli, évidemment l'enregistrement est toujours là.
Je fais bien un update de mon dataadapter après la suppression.
Bonjour,
Utilisez vous Row.Delete ou Rows.Remove? Le résultat n'est pas du tout le même. Remove retire le record de la collections Rows alors que Delete ne fait que marquer le record comme deleted. Selon que vous allez faire un AcceptChanges ou un RejectChanges, l'impact sur BD est différent. Je vous conseille fortement la lecture d'un article très complet sur ce point:
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Thierry wrote:
J'ai un problème simple :
J'ai un datagrid lié à dataset basé sur une base Access.
Lorsque je supprime un enregistrement dans le dataset,
l'enregistrement disparaît bien de mon datagrid, mais pas de la base.
Quand je ferme et rouvre mon appli, évidemment l'enregistrement est
toujours là.
Je fais bien un update de mon dataadapter après la suppression.
Bonjour,
Utilisez vous Row.Delete ou Rows.Remove? Le résultat n'est pas du tout
le même. Remove retire le record de la collections Rows alors que Delete
ne fait que marquer le record comme deleted. Selon que vous allez faire
un AcceptChanges ou un RejectChanges, l'impact sur BD est différent. Je
vous conseille fortement la lecture d'un article très complet sur ce
point:
J'ai un problème simple : J'ai un datagrid lié à dataset basé sur une base Access. Lorsque je supprime un enregistrement dans le dataset, l'enregistrement disparaît bien de mon datagrid, mais pas de la base. Quand je ferme et rouvre mon appli, évidemment l'enregistrement est toujours là.
Je fais bien un update de mon dataadapter après la suppression.
Bonjour,
Utilisez vous Row.Delete ou Rows.Remove? Le résultat n'est pas du tout le même. Remove retire le record de la collections Rows alors que Delete ne fait que marquer le record comme deleted. Selon que vous allez faire un AcceptChanges ou un RejectChanges, l'impact sur BD est différent. Je vous conseille fortement la lecture d'un article très complet sur ce point:
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Thierry
Ok !
J'ai compris mon erreur. En effet, j'utilisais la méthode Remove
Merci.
Thierry.
"Patrick Philippot" wrote:
Thierry wrote: > J'ai un problème simple : > J'ai un datagrid lié à dataset basé sur une base Access. > Lorsque je supprime un enregistrement dans le dataset, > l'enregistrement disparaît bien de mon datagrid, mais pas de la base. > Quand je ferme et rouvre mon appli, évidemment l'enregistrement est > toujours là. > > Je fais bien un update de mon dataadapter après la suppression.
Bonjour,
Utilisez vous Row.Delete ou Rows.Remove? Le résultat n'est pas du tout le même. Remove retire le record de la collections Rows alors que Delete ne fait que marquer le record comme deleted. Selon que vous allez faire un AcceptChanges ou un RejectChanges, l'impact sur BD est différent. Je vous conseille fortement la lecture d'un article très complet sur ce point:
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Ok !
J'ai compris mon erreur.
En effet, j'utilisais la méthode Remove
Merci.
Thierry.
"Patrick Philippot" wrote:
Thierry wrote:
> J'ai un problème simple :
> J'ai un datagrid lié à dataset basé sur une base Access.
> Lorsque je supprime un enregistrement dans le dataset,
> l'enregistrement disparaît bien de mon datagrid, mais pas de la base.
> Quand je ferme et rouvre mon appli, évidemment l'enregistrement est
> toujours là.
>
> Je fais bien un update de mon dataadapter après la suppression.
Bonjour,
Utilisez vous Row.Delete ou Rows.Remove? Le résultat n'est pas du tout
le même. Remove retire le record de la collections Rows alors que Delete
ne fait que marquer le record comme deleted. Selon que vous allez faire
un AcceptChanges ou un RejectChanges, l'impact sur BD est différent. Je
vous conseille fortement la lecture d'un article très complet sur ce
point:
J'ai compris mon erreur. En effet, j'utilisais la méthode Remove
Merci.
Thierry.
"Patrick Philippot" wrote:
Thierry wrote: > J'ai un problème simple : > J'ai un datagrid lié à dataset basé sur une base Access. > Lorsque je supprime un enregistrement dans le dataset, > l'enregistrement disparaît bien de mon datagrid, mais pas de la base. > Quand je ferme et rouvre mon appli, évidemment l'enregistrement est > toujours là. > > Je fais bien un update de mon dataadapter après la suppression.
Bonjour,
Utilisez vous Row.Delete ou Rows.Remove? Le résultat n'est pas du tout le même. Remove retire le record de la collections Rows alors que Delete ne fait que marquer le record comme deleted. Selon que vous allez faire un AcceptChanges ou un RejectChanges, l'impact sur BD est différent. Je vous conseille fortement la lecture d'un article très complet sur ce point:
La méthode Remove enlève un Datarow de la collection Rows, mais elle ne supprime pas la ligne dans la table.
Il faut donc utiliser la méthode Delete du DataAdapter, ou directement une Commande Delete (SQL).
Regarde bien l'aide sur les méthodes remove et delete pour plus d'infos.
Thierry.
"DP" wrote:
Bonjour,
J'ai le même problème avec le code suivant :
LigneChoisie As Integer LigneChoisie = (DataGridListeActes.CurrentRowIndex) Dim myRow As DataRow myRow = dtsListeActes.Tables(strTable).Rows(LigneChoisie) Me.dtsListeActes.Tables(strTable).Rows.Remove(myRow) Me.odaListeActes.Update(dtsListeActes, strTable)
et j'avoue ne pas bien comprendre d'ou vient l'erreur. Pouvez-vous m'aider?
Merci
DP
DP
Bonsoir,
Je pensais que la méthode Update du DataAdapter prenait en charge l'ajout, la modification et la suppression. Je l'utilise pour ajouter des enregistrements sans problème alors que j'ai ce problème de mise à jour de la base sous-jacente pour les modifications ou les suppressions. Je tourne en rond.
Merci de votre aide
DP
Bonsoir,
Je pensais que la méthode Update du DataAdapter prenait en charge l'ajout,
la modification et la suppression.
Je l'utilise pour ajouter des enregistrements sans problème alors que j'ai
ce problème de mise à jour de la base sous-jacente pour les modifications ou
les suppressions.
Je tourne en rond.
Je pensais que la méthode Update du DataAdapter prenait en charge l'ajout, la modification et la suppression. Je l'utilise pour ajouter des enregistrements sans problème alors que j'ai ce problème de mise à jour de la base sous-jacente pour les modifications ou les suppressions. Je tourne en rond.