cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008
-
20 sept. 2006 à 21:41
francesdereve
Messages postés75Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention 6 août 2007
-
21 sept. 2006 à 23:20
Bonjour,
Je cherche à ajouter un enregistrement dans un dataset.
J'ai d'abord créer un objet :
CurrencyManager Cm = (CurrencyManager)BindingContext[dbDs_service1, "tp1_service"];
où dbDs_service1 est mon dataset et tp1_service le nom de ma table auquel mon dataset est lié.
Pour ajouter un enregistrement à mon dataset, j'ai ensuite fait :
Cm.AddNew();
La propriété count de Cm à bien été incrémenté. Cependant, cette ligne :
dbDs_service1.tp1_service[Cm.Position].MonChamp = "blabla";
me retourne l'erreur suivante :
There is no row at position count.
Il semble donc qu'il n'y ait pas eu d'ajout de ligne dans mon dataset...
M'y suis-je mal pris ? Ais-je oublié quelque-chose ?
...et mon dataset n'est pas mis à jour.
Cependant je croyais que cette méthode servait à mettre à jour la table de ma base de donnée à partir du dataset. Sert-elle aussi à mettre à jour le dataset à partir d'une instance de CurrencyManager ? Ou parles-tu d'une autre méthode update pour faire cette mise à jour ?
Mathmax
cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008 21 sept. 2006 à 10:57
donc en fait, il ne faut pas que j'appelle la méthode update() quand l'événement Mondataset.RowChanged se produit puisque c'est justement grâce à update que l'enregistrement va être effectivement ajouté au dataset...
Et le update permet-il aussi de mettre à jour la table de la base de donné, ou faut-il utiliser une autre méthode ?
Mathmax
Vous n’avez pas trouvé la réponse que vous recherchez ?
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201436 21 sept. 2006 à 11:19
normalement ce Update() permet d'ajouter (modifier) la ligne au dataset... ensuite, tu peux appeler l'Update() de ton Adapter (SqlDataSource) pour mettre à jour la table.
cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008 21 sept. 2006 à 12:08
En fait il n'y a pas de méthode update() pour les instances de dataset ou de CurrencyManager. De quel update() (méthode de quelle classe) parles-tu quand tu dis : "ce Update() permet d'ajouter (modifier) la ligne au dataset" ?
francesdereve
Messages postés75Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention 6 août 2007 21 sept. 2006 à 23:20
si tu veux ajouter une ligne dans ton dataset,pourquoi tu ne fais pas le nom de ton dataset.nomdelatable..AddNomtableRow(les parametres de ta table.Si ta dataset a une table qui s'appelle Personne tu auras une methode AddPersonneRow()
FD