Ajout de ligne dans DataTable
Bonjour
J'ai un petit problème sur un sujet mille fois traité ici et ailleurs mais j'ai probablement le nez trop dessus pour voir le truc qui cloche.
Je désire boucler sur une table et ajouter chacun de ses enregistrements dans une deuxième table.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
private void btn_Test2_Click(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection(GD.str_Chaine_Connexion);
DataSet dts = new DataSet("dts");
OleDbDataAdapter dta_Appels = new OleDbDataAdapter("SELECT tbl_Appels.* FROM tbl_Appels", con);
OleDbDataAdapter dta_Evennements = new OleDbDataAdapter("SELECT tbl_Evenements.* FROM tbl_Evenements", con);
DataRow row_destination;
con.Open();
dta_Appels.Fill(dts, "tbl_Appels");
dta_Evennements.Fill(dts, "tbl_Evenements");
foreach (DataRow row_source in dts.Tables["tbl_Appels"].Rows)
{
row_destination = dts.Tables["tbl_Evenements"].NewRow();
row_destination["num_FK_ID_Type_Evenement"] = 1;
row_destination["dtm_Heure_Evenement"] = row_source["dtm_Heure_Appel"];
row_destination["num_FK_Motif_Appel"] = row_source["num_Motif"];
row_destination["num_Score"] = row_source["num_Score"];
row_destination["bln_Rappel"] = row_source["bln_Rappel"];
row_destination["bln_Transfert"] = row_source["bln_Transfert"];
row_destination["bln_Dissuasion"] = row_source["bln_Dissuasion"];
DateTime dtm = new DateTime();
dtm = (DateTime)row_source["dtm_DMT"];
row_destination["num_DMT"] = dtm.Second + dtm.Minute * 60;
dts.Tables["tbl_Evenements"].Rows.Add(row_destination);
dts.Tables["tbl_Evenements"].AcceptChanges();
}
dts.AcceptChanges();
MessageBox.Show("ok");
con.Close();
} |
Le code boucle correctement, à chaque Rows.Add, le Count de la collection Rows est bien incrémenté sauf que la table de destination reste désespérément vide.
Il doit manquer un Update quelque part.
Merci d'avance