Bonjour,
Je suis en train de programmer un synchronisateur qui prend les données d'une base de données Acomba et les insert dans une base de données MySQL. Jusque la, tout est parfait. Mon problème arrive par la suite.
Je dois comparer les données de ces base de données. J'ai donc rempli 2 DataSet et je compare mais cela est très mais très lent. J'ai prêt de 18,000 lignes et 155 colonnes (donc beaucoup de données) dans un DataSet et l'autre est vide alors il ca ne devrait pas être très long lors de la comparaison. C'est peut-être moi qui m'y prend mal mais la je ne sais plus du tout comment faire pour que cela sois un minimum rapide.
Merci,
Friedrick
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 private void firstpass(ref DataSet ds1, string pk1, ref DataSet ds2, string pk2) { //ds1 has priority for (int x = 0; x < ds1.Tables[0].Rows.Count; x++) { //check if row exist in ds2 if (!this.isin(ds2, ds1.Tables[0].Rows[x][pk1].ToString(), pk2)) { //primary key of ds1 does not match ds2 DataRow newrow = ds2.Tables[0].NewRow(); for (int c = 0; c < ds2.Tables[0].Columns.Count; c++) { newrow[c] = ds1.Tables[0].Rows[x][c]; logBox.Text += ">>>New Data : " + ds1.Tables[0].Rows[x][c].ToString() + "\n"; scroll(); } ds2.Tables[0].Rows.Add(newrow); //newrow.Delete(); } } }
Partager