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);
cmd.Parameters.Add(
"?", MySqlDbType.VarChar, 100, "monchamp");
this.m_SqlDataAdapter.UpdateCommand = cmd;
// 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
}
try
{
this.m_SqlDataAdapter.Update(DS, "retour_select");
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
.....
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 ?
merci d'avance
