Je bloque sur un point et j'aimerai avoir votre avis.
J'ai un datagrid qui est lié à un dataset (celui-ci est le résultat d'un
simple select d'une de mes tables).
J'ai créé un objet sqldataadapter pour le remplir
J'ai défini les commandes insert et update de mon dataadapter avec des
paramètres.
Jusque là pas de problèmes.
J'ai un bouton à côté de mon datagrid qui me permet de supprimer la ligne
sélectionnée de mon datagrid
Voici le code :
bm = Me.dgCorps.BindingContext(Me.dgCorps.DataSource, Me.dgCorps.DataMember)
Myds.Tables("PIECES_CORPS").Rows.RemoveAt(bm.Position)
Cela fonctionne bien car ma ligne est bien supprimée de mon datagrid.
Le problème se pose lorque je souhaite mettre à jour la base de données.
Je n'enregistre les modifcations qu'à la fermeture de mon formulaire
Voici le code :
...
Dim CmdBuild As SqlClient.SqlCommandBuilder
CmdBuild = New SqlClient.SqlCommandBuilder(MyAdapter)
MyAdapter.UpdateCommand = CmdBuild.GetUpdateCommand()
MyAdapter.Update(Myds, "PIECES_CORPS")
Et là, cela ne fonctionne pas. Les lignes ne sont pas effacées!!!!
J'ai essayé de définir une deletecommand pour le sqldataadapter, mais cela
ne change rien.
Auriez vous une idée car mes insert et update dans mon datagrid sont bien
reportés dans ma table.
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
C. Vidal
Bonjour,
Finalement j'ai trouvé l'origine de mon problème. Au lieu de faire Myds.Tables("PIECES_CORPS").Rows.RemoveAt(bm.Position) il faut faire Myds.Tables("PIECES_CORPS").Rows(bm.position).delete()
Ainsi, les lignes sont bien marquées comme étant à effacer dans le datagrid J'espère que cela pourra aider quelqu'un
C. Vidal
"C. Vidal" a écrit dans le message de news: OY5AV9w$
Bonjour à tous,
Je bloque sur un point et j'aimerai avoir votre avis. J'ai un datagrid qui est lié à un dataset (celui-ci est le résultat d'un simple select d'une de mes tables). J'ai créé un objet sqldataadapter pour le remplir J'ai défini les commandes insert et update de mon dataadapter avec des paramètres.
Jusque là pas de problèmes.
J'ai un bouton à côté de mon datagrid qui me permet de supprimer la ligne sélectionnée de mon datagrid Voici le code : bm = Me.dgCorps.BindingContext(Me.dgCorps.DataSource, Me.dgCorps.DataMember) Myds.Tables("PIECES_CORPS").Rows.RemoveAt(bm.Position) Cela fonctionne bien car ma ligne est bien supprimée de mon datagrid.
Le problème se pose lorque je souhaite mettre à jour la base de données.
Je n'enregistre les modifcations qu'à la fermeture de mon formulaire
Voici le code : ... Dim CmdBuild As SqlClient.SqlCommandBuilder CmdBuild = New SqlClient.SqlCommandBuilder(MyAdapter) MyAdapter.UpdateCommand = CmdBuild.GetUpdateCommand() MyAdapter.Update(Myds, "PIECES_CORPS")
Et là, cela ne fonctionne pas. Les lignes ne sont pas effacées!!!! J'ai essayé de définir une deletecommand pour le sqldataadapter, mais cela ne change rien. Auriez vous une idée car mes insert et update dans mon datagrid sont bien reportés dans ma table.
Merci d'avance.
C. Vidal
Bonjour,
Finalement j'ai trouvé l'origine de mon problème.
Au lieu de faire
Myds.Tables("PIECES_CORPS").Rows.RemoveAt(bm.Position)
il faut faire
Myds.Tables("PIECES_CORPS").Rows(bm.position).delete()
Ainsi, les lignes sont bien marquées comme étant à effacer dans le datagrid
J'espère que cela pourra aider quelqu'un
C. Vidal
"C. Vidal" <cvidal_nospam@univer-com.com> a écrit dans le message de news:
OY5AV9w$EHA.2600@TK2MSFTNGP09.phx.gbl...
Bonjour à tous,
Je bloque sur un point et j'aimerai avoir votre avis.
J'ai un datagrid qui est lié à un dataset (celui-ci est le résultat d'un
simple select d'une de mes tables).
J'ai créé un objet sqldataadapter pour le remplir
J'ai défini les commandes insert et update de mon dataadapter avec des
paramètres.
Jusque là pas de problèmes.
J'ai un bouton à côté de mon datagrid qui me permet de supprimer la ligne
sélectionnée de mon datagrid
Voici le code :
bm = Me.dgCorps.BindingContext(Me.dgCorps.DataSource,
Me.dgCorps.DataMember)
Myds.Tables("PIECES_CORPS").Rows.RemoveAt(bm.Position)
Cela fonctionne bien car ma ligne est bien supprimée de mon datagrid.
Le problème se pose lorque je souhaite mettre à jour la base de données.
Je n'enregistre les modifcations qu'à la fermeture de mon formulaire
Voici le code :
...
Dim CmdBuild As SqlClient.SqlCommandBuilder
CmdBuild = New SqlClient.SqlCommandBuilder(MyAdapter)
MyAdapter.UpdateCommand = CmdBuild.GetUpdateCommand()
MyAdapter.Update(Myds, "PIECES_CORPS")
Et là, cela ne fonctionne pas. Les lignes ne sont pas effacées!!!!
J'ai essayé de définir une deletecommand pour le sqldataadapter, mais cela
ne change rien.
Auriez vous une idée car mes insert et update dans mon datagrid sont bien
reportés dans ma table.
Finalement j'ai trouvé l'origine de mon problème. Au lieu de faire Myds.Tables("PIECES_CORPS").Rows.RemoveAt(bm.Position) il faut faire Myds.Tables("PIECES_CORPS").Rows(bm.position).delete()
Ainsi, les lignes sont bien marquées comme étant à effacer dans le datagrid J'espère que cela pourra aider quelqu'un
C. Vidal
"C. Vidal" a écrit dans le message de news: OY5AV9w$
Bonjour à tous,
Je bloque sur un point et j'aimerai avoir votre avis. J'ai un datagrid qui est lié à un dataset (celui-ci est le résultat d'un simple select d'une de mes tables). J'ai créé un objet sqldataadapter pour le remplir J'ai défini les commandes insert et update de mon dataadapter avec des paramètres.
Jusque là pas de problèmes.
J'ai un bouton à côté de mon datagrid qui me permet de supprimer la ligne sélectionnée de mon datagrid Voici le code : bm = Me.dgCorps.BindingContext(Me.dgCorps.DataSource, Me.dgCorps.DataMember) Myds.Tables("PIECES_CORPS").Rows.RemoveAt(bm.Position) Cela fonctionne bien car ma ligne est bien supprimée de mon datagrid.
Le problème se pose lorque je souhaite mettre à jour la base de données.
Je n'enregistre les modifcations qu'à la fermeture de mon formulaire
Voici le code : ... Dim CmdBuild As SqlClient.SqlCommandBuilder CmdBuild = New SqlClient.SqlCommandBuilder(MyAdapter) MyAdapter.UpdateCommand = CmdBuild.GetUpdateCommand() MyAdapter.Update(Myds, "PIECES_CORPS")
Et là, cela ne fonctionne pas. Les lignes ne sont pas effacées!!!! J'ai essayé de définir une deletecommand pour le sqldataadapter, mais cela ne change rien. Auriez vous une idée car mes insert et update dans mon datagrid sont bien reportés dans ma table.