Delete de lignes d'une base de données avec le dataset
7 réponses
Jean-Michel
Bonjour
Je débute en VB Net
J'ai une appli qui met à jour une table access, j'utilise OleDataAdapter et le Dataset, j'arrive à mettre à jour le dataset mais je n'arrive pas à récepcuter ces modifications dans la base de données voici le code qui j'ai sur le click de mon bouton Delet
Private Sub DeleteBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteBtn.Clic
DsLangue1.Tables("tblLangue").Rows.RemoveAt(Me.BindingContext(DsLangue1, "tblLangue").Position
OleDbDataAdapter1.Update(DsLangue1, "tblLangue"
End Su
Il me semble que la ligne OleDbDataAdapter1.Update(DsLangue1, "tblLangue") devrait normalement envoyer les nouvelles valeurs de mon Dataset vers la base de données.
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
Bonjour,
a tu essayé de faire un dataset.acceptchanges sinon le dataset transmet bien les mise à jours mais ne les prend pas en considération
Sebastien
"Jean-Michel" a écrit dans le message de news:
Bonjour,
Je débute en VB Net.
J'ai une appli qui met à jour une table access, j'utilise OleDataAdapter
et le Dataset, j'arrive à mettre à jour le dataset mais je n'arrive pas à récepcuter ces modifications dans la base de données voici le code qui j'ai sur le click de mon bouton Delete
Private Sub DeleteBtn_Click(ByVal sender As System.Object, ByVal e As
OleDbDataAdapter1.Update(DsLangue1, "tblLangue") End Sub
Il me semble que la ligne OleDbDataAdapter1.Update(DsLangue1,
"tblLangue") devrait normalement envoyer les nouvelles valeurs de mon Dataset vers la base de données.
Merci à vous pour votre aide,
Jean-Michel
Bonjour,
a tu essayé de faire un dataset.acceptchanges sinon le dataset transmet bien
les mise à jours mais ne les prend pas en considération
Sebastien
"Jean-Michel" <anonymous@discussions.microsoft.com> a écrit dans le message
de news:C9A608ED-886D-43AE-8381-1F27DAE464F4@microsoft.com...
Bonjour,
Je débute en VB Net.
J'ai une appli qui met à jour une table access, j'utilise OleDataAdapter
et le Dataset, j'arrive à mettre à jour le dataset mais je n'arrive pas à
récepcuter ces modifications dans la base de données voici le code qui j'ai
sur le click de mon bouton Delete
Private Sub DeleteBtn_Click(ByVal sender As System.Object, ByVal e As
a tu essayé de faire un dataset.acceptchanges sinon le dataset transmet bien les mise à jours mais ne les prend pas en considération
Sebastien
"Jean-Michel" a écrit dans le message de news:
Bonjour,
Je débute en VB Net.
J'ai une appli qui met à jour une table access, j'utilise OleDataAdapter
et le Dataset, j'arrive à mettre à jour le dataset mais je n'arrive pas à récepcuter ces modifications dans la base de données voici le code qui j'ai sur le click de mon bouton Delete
Private Sub DeleteBtn_Click(ByVal sender As System.Object, ByVal e As
J'utilise Removeat qui est à la fois un Delete + Accept Changes, mais ceci dit j'ai essayé avec accept.changes mais pas de résultat
En tout cas merci pour ta réponse
Jean-Michel
pardon j'avais très mal lu et pas compris ce que tu disais mais en lisant ta réponse a mon post j'ai pigé le souci si effectivement le removeat détruit une ligne et passe en même temps un acceptchanges alors effectivement ta base de données ne opeut pas être mise à jour en effet le acceptchanges dit au dataset un truc du genre "ok tous c'est bien passé plus la peine d'assurer le suivi des modifications fait comme si tu avais la nouvelle extraction de la base" topo quand derrière le removeat tu passe un datadapter.update () le dataset n'a plus une seul ligne flaguée comme devant être modifié (insert delete update) donc le datadapter ne passe aucune modification à la base esssaie de mettre en commentaire le removeat mais ton dataset dans une datagrid fais une modification sur la datagrid voir mêem supprimer une ligne ensuite un update sur le datadapter et là tu verra les omdifications dans ta base il te faut trouver une autre méthode que le removeat si celui ci passe réellement un accpetchanges juste après ou alors flag la ligne a supprimée comme rowdeleted là la mise a jour passera
Sebastien
"Jean-Michel" a écrit dans le message de news:
Bonjour,
J'utilise Removeat qui est à la fois un Delete + Accept Changes, mais ceci
dit j'ai essayé avec accept.changes mais pas de résultat.
En tout cas merci pour ta réponse.
Jean-Michel
pardon j'avais très mal lu et pas compris ce que tu disais mais en lisant ta
réponse a mon post j'ai pigé le souci si effectivement le removeat détruit
une ligne et passe en même temps un acceptchanges alors effectivement ta
base de données ne opeut pas être mise à jour en effet le acceptchanges dit
au dataset un truc du genre "ok tous c'est bien passé plus la peine
d'assurer le suivi des modifications fait comme si tu avais la nouvelle
extraction de la base" topo quand derrière le removeat tu passe un
datadapter.update () le dataset n'a plus une seul ligne flaguée comme devant
être modifié (insert delete update) donc le datadapter ne passe aucune
modification à la base esssaie de mettre en commentaire le removeat mais ton
dataset dans une datagrid fais une modification sur la datagrid voir mêem
supprimer une ligne ensuite un update sur le datadapter et là tu verra les
omdifications dans ta base il te faut trouver une autre méthode que le
removeat si celui ci passe réellement un accpetchanges juste après ou alors
flag la ligne a supprimée comme rowdeleted là la mise a jour passera
Sebastien
"Jean-Michel" <anonymous@discussions.microsoft.com> a écrit dans le message
de news:2962FAD6-BE19-4938-9436-161915BD7FA9@microsoft.com...
Bonjour,
J'utilise Removeat qui est à la fois un Delete + Accept Changes, mais ceci
dit j'ai essayé avec accept.changes mais pas de résultat.
pardon j'avais très mal lu et pas compris ce que tu disais mais en lisant ta réponse a mon post j'ai pigé le souci si effectivement le removeat détruit une ligne et passe en même temps un acceptchanges alors effectivement ta base de données ne opeut pas être mise à jour en effet le acceptchanges dit au dataset un truc du genre "ok tous c'est bien passé plus la peine d'assurer le suivi des modifications fait comme si tu avais la nouvelle extraction de la base" topo quand derrière le removeat tu passe un datadapter.update () le dataset n'a plus une seul ligne flaguée comme devant être modifié (insert delete update) donc le datadapter ne passe aucune modification à la base esssaie de mettre en commentaire le removeat mais ton dataset dans une datagrid fais une modification sur la datagrid voir mêem supprimer une ligne ensuite un update sur le datadapter et là tu verra les omdifications dans ta base il te faut trouver une autre méthode que le removeat si celui ci passe réellement un accpetchanges juste après ou alors flag la ligne a supprimée comme rowdeleted là la mise a jour passera
Sebastien
"Jean-Michel" a écrit dans le message de news:
Bonjour,
J'utilise Removeat qui est à la fois un Delete + Accept Changes, mais ceci
dit j'ai essayé avec accept.changes mais pas de résultat.
En tout cas merci pour ta réponse.
Jean-Michel
Jean-Michel
Bonjour Sébastien Merci pour ta réponse, puis-je encore te solliciter avec un complément d'infos
Pour mettre ma ligne en RowsDeleted, il faut que je connaisse le no de la ligne, connais-tu la commande pour extraire le no de ligne courrante
ma commande serait du type 'DsLangue1.Tables("tblLangue").Rows(intRowNumber).Delete(
Merci et bonne journé Jean-Miche
Bonjour Sébastien
Merci pour ta réponse, puis-je encore te solliciter avec un complément d'infos
Pour mettre ma ligne en RowsDeleted, il faut que je connaisse le no de la ligne, connais-tu la commande pour extraire le no de ligne courrante
ma commande serait du type
'DsLangue1.Tables("tblLangue").Rows(intRowNumber).Delete(
Bonjour Sébastien Merci pour ta réponse, puis-je encore te solliciter avec un complément d'infos
Pour mettre ma ligne en RowsDeleted, il faut que je connaisse le no de la ligne, connais-tu la commande pour extraire le no de ligne courrante
ma commande serait du type 'DsLangue1.Tables("tblLangue").Rows(intRowNumber).Delete(
Merci et bonne journé Jean-Miche
Pas de souci si je peux t'aider ;)
première question comment fais tu pour sélectionner la ligne à supprimer ?
récupération dans une datagrid, une combo saisie du numéro dans une textbox ?
sinon sur le principe si par exemple c'est dans une datagrid tu sélectionne la ligne dans la datgrid tu appuie sur la touche delete de ton clavier cela suffit à la supprimer pour les autre méthode il faudrait un peux plus de précisions j'ai vu que tu passais par une fonction clic sur un bouton mais je n'ai pas saisie ce qui dans ta fonction renvoyé le numéro de ligne du dataset la commande que tu indique ci dessous me parait bonne reste a savoir comment tu récupère ton intRowNumber
Sebastien
"Jean-Michel" a écrit dans le message de news:
Bonjour Sébastien, Merci pour ta réponse, puis-je encore te solliciter avec un complément
d'infos ?
Pour mettre ma ligne en RowsDeleted, il faut que je connaisse le no de la
ligne, connais-tu la commande pour extraire le no de ligne courrante ?
ma commande serait du type 'DsLangue1.Tables("tblLangue").Rows(intRowNumber).Delete()
Merci et bonne journée Jean-Michel
Pas de souci si je peux t'aider ;)
première question comment fais tu pour sélectionner la ligne à supprimer ?
récupération dans une datagrid, une combo saisie du numéro dans une textbox
?
sinon sur le principe si par exemple c'est dans une datagrid tu sélectionne
la ligne dans la datgrid tu appuie sur la touche delete de ton clavier cela
suffit à la supprimer pour les autre méthode
il faudrait un peux plus de précisions j'ai vu que tu passais par une
fonction clic sur un bouton mais je n'ai pas saisie ce qui dans ta fonction
renvoyé le numéro de ligne du dataset
la commande que tu indique ci dessous me parait bonne reste a savoir comment
tu récupère ton intRowNumber
Sebastien
"Jean-Michel" <anonymous@discussions.microsoft.com> a écrit dans le message
de news:BEE5E1CB-EC2D-468A-B39E-540E8237A657@microsoft.com...
Bonjour Sébastien,
Merci pour ta réponse, puis-je encore te solliciter avec un complément
d'infos ?
Pour mettre ma ligne en RowsDeleted, il faut que je connaisse le no de la
ligne, connais-tu la commande pour extraire le no de ligne courrante ?
ma commande serait du type
'DsLangue1.Tables("tblLangue").Rows(intRowNumber).Delete()
première question comment fais tu pour sélectionner la ligne à supprimer ?
récupération dans une datagrid, une combo saisie du numéro dans une textbox ?
sinon sur le principe si par exemple c'est dans une datagrid tu sélectionne la ligne dans la datgrid tu appuie sur la touche delete de ton clavier cela suffit à la supprimer pour les autre méthode il faudrait un peux plus de précisions j'ai vu que tu passais par une fonction clic sur un bouton mais je n'ai pas saisie ce qui dans ta fonction renvoyé le numéro de ligne du dataset la commande que tu indique ci dessous me parait bonne reste a savoir comment tu récupère ton intRowNumber
Sebastien
"Jean-Michel" a écrit dans le message de news:
Bonjour Sébastien, Merci pour ta réponse, puis-je encore te solliciter avec un complément
d'infos ?
Pour mettre ma ligne en RowsDeleted, il faut que je connaisse le no de la
ligne, connais-tu la commande pour extraire le no de ligne courrante ?
ma commande serait du type 'DsLangue1.Tables("tblLangue").Rows(intRowNumber).Delete()
Merci et bonne journée Jean-Michel
Jean-Michel
Sébastien
ça y est, j'ai trouvé, ce qui me manquait c'était la manière de récupérer la position de mon enreg, j'utilise cette command