Bonjour à tous
Je développe un programme en visual basic sous visual studio 2008.
Ce programme doit générer un rapport budgétaire à partir de données issues d'une BdD sous MSSQL d'une part et extraites de fichiers .txt d'autre part.
Pour l'instant, les données sont bien extraites de la BdD et rangées dans des DataTables tandis que celles issues des fichiers .txt sont stockées dans des tableaux.
Comme je ne suis pas très à l'aise avec les DataTables, j'ai commencé par remplir des tableaux avec les données des DataTables pour ne travailler que sur des tableaux par le suite. Cependant, remplir les tableaux prend beaucoup de temps de traitement !
Ci-dessous le code utilisé pour remplir un des tableaux (le tableau "TableTaskMean")
La requète SQL correspondant au GetDataBy :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Dim ListeSections2() As String = New String() {"Id", "IdTask", "IdMean", "DayNumber", "Quantity"} Dim NbTaskMean NbTaskMean = Menu_choix_chantier.TaskMeanTableAdapter.GetDataBy(ID_Site) ReDim TableTaskMean(4, NbTaskMean - 1) For i As Integer = 0 To NbTaskMean - 1 For j As Integer = 0 To 4 TableTaskMean(j, i) = Menu_choix_chantier.TaskMeanTableAdapter.GetDataBy(ID_Site).Rows(i)(ListeSections2(j)) Next j Next i
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 SELECT Id, IdTask, IdMean, DayNumber, Quantity FROM dbo.TaskMean WHERE IdTask IN ( SELECT Id FROM dbo.Task WHERE IdActivity IN ( SELECT Id FROM dbo.Activity WHERE IdSchedule= ( SELECT Id FROM dbo.Schedule WHERE IdSite=@ID_Site AND ScheduleType=0 ) ) )
Est-ce mon code qui fait que ça prend trop de temps ou est-ce normal et il ne faut travailler que sur des DataTables ?
Merci d'avance
Partager