Optimisation d'un bout de code car temps de réponse trop long
Bonjour,
J'ai une application qui génére un fichier Excel avec vraiment beaucoup de données dedans. Le problème c'est qu'il est super long à générer (plusieurs minutes), j'ai donc isolé la méthode et débogguer pour voir où cela ralentissais précisément et le bout de code qui ralentit c'est lui :
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
|
for (int i = 0; i < produitList.Count; i++)
{
int total = 0;
for (int j = 0; j < filialeList.Count; j++)
{
ParameterCollection p1 = new ParameterCollection();
p1.Add("Dossier", "165");
p1.Add("Produit", produitList[i]);
p1.Add("Filiale", filialeList[j]);
dt = ***WebTools.SelectAppQuery("SELECT quantite FROM ProduitCommandeDoc WHERE (pk_idDossier = @Dossier) AND (pk_idProduit = @Produit) AND (pk_idSoc = @Filiale)", p1);
if (dt.Rows.Count > 0)
{
try
{
int qte = int.Parse(dt.Rows[0]["quantite"].ToString());
total += qte;
}
catch (Exception) { }
oExcelSheet.Cells[startRow + j + 1, i + 3] = dt.Rows[0]["quantite"].ToString();
}
else
oExcelSheet.Cells[startRow + j + 1, i + 3] = "0";
}
oExcelSheet.Cells[startRow + filialeList.Count + 1, i + 3] = total.ToString();
} |
Comment puis-je optimiser ce bout de code car jettant un oeil je vois mal comment il peut être codé autrement.