cs_Gedeon31
Messages postés7Date d'inscriptiondimanche 8 juin 2003StatutMembreDernière intervention24 avril 2006
-
21 avril 2006 à 15:21
cs_Gedeon31
Messages postés7Date d'inscriptiondimanche 8 juin 2003StatutMembreDernière intervention24 avril 2006
-
24 avril 2006 à 09:06
bonjour,
deja voici mon code
DataSet DS =
new
DataSet();
// rempli le dataset avec des info issu d'un select sur base mysql
GetInfo(DS);
MySqlCommand cmd =
new
MySqlCommand(
"UPDATE `matable` SET `monchamp` = ? WHERE condition",
this.m_SqlConnection);
// modification de 'monchamp' dans le dataset par une valeur differente pour chaque row
foreach (
DataRow row
in DS.Tables[
"retour_select"].Rows)
{
// nimportquoi chqnge a chaque tour du foreach
row[
"monchamp"] = nimportquoi
donc voila en gros je veux changer pour plusieurs entrees de ma base la valeur d'un champ.
le code ci dessus realise tres bien l'operation, enfin presque en effet il modifie bien le champ 'monchamp' pour chaque ligne de ma base, mais il met la valeur du premier tour du foreach pour chaque ligne alors que si je regarde le dataset apres le foreach chaque ligne a une valeur differente pour 'monchamp' autrement dit j'ai bien les modifications que je souhaite dans le dataset masi lors de l'update dans la base les changement ne sont pas les bons.
ha oui j'ai une exception de leve me disant que justement c l'enregistrement 0 qui est applique partout.
quelqu'un a une solution pour en gros cloner sur ma base de donne le contenue du Dataset modifie ?
cs_Gedeon31
Messages postés7Date d'inscriptiondimanche 8 juin 2003StatutMembreDernière intervention24 avril 2006 24 avril 2006 à 09:06
en effet le type et la longueur du "n'importe quoi" sont ok pour preuve si je demande de mettre 'a', 'b', 'c' etc dans trois ligne a update il ne me met que 'a' partout.
pour le moment j'ai trouve une solution temporaire qui fonctionne mais qui n'est pas tres jolie. a chaque tour de foreach je concatene a la commandstring une requete avec les valeur a modif dans la requete (upadte...;update...;update...)