Je fais ça :
Code :
- public void UpdateShops(OleDbConnection cnx)
- {
- OleDbCommand cmd = cnx.CreateCommand();
- cmd.CommandText = "soc";
- cmd.CommandType = CommandType.TableDirect;
- cmd.Prepare();
- OleDbDataAdapter da = new OleDbDataAdapter();
- da.SelectCommand = cmd;
- da.UpdateCommand = cmd;
- da.InsertCommand = cmd;
- da.DeleteCommand = cmd;
- DataTable dt = new DataTable();
- da.Fill(dt);
- foreach (XmlNode el in dom.DocumentElement.GetElementsByTagName("shop" ))
- {
- bool found = false;
- foreach (DataRow dr in dt.Rows)
- {
- if (((decimal)dr["codsoc"]).ToString() == el.Attributes["codsoc"].Value)
- {
- dr["libut_soc"] = el.Attributes["libut_soc"].Value;
- dr.AcceptChanges();
- found = true;
- break;
- }
- }
- if (!found)
- {
- object[] vals = new object[2];
- vals[0] = decimal.Parse(el.Attributes["codsoc"].Value);
- vals[1] = el.Attributes["libut_soc"].Value;
- dt.Rows.Add(vals);
- dt.AcceptChanges();
- }
- }
- dt.AcceptChanges();
- da.Update(dt);
- }
|
Ma table reste vide dans la base, alors que j'ai bien une nouvelle ligne au statut "Added" dans mon dt.
Je suppose que j'ai oublié un truc, mais quoi ?
Message édité par Arjuna le 03-04-2006 à 17:57:34