J'ai une requête qui devrait modifier plusieurs enregistrements d'une table, malheureusement elle ne me retourne la valeur correcte que dans le dernier enregistrement de la boucle uniquement???
Si je réduit i en sortie de boucle, par exemple à 6 au lieu de 23, l'enregistrement correspondant à 6 heure est modifié, mais ni les enregistrements précédents ni suivants ne le sont!?!
Bizarre???
Voici mon code:
HELP!!!
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
23
24
25
26
27
28
29
30 i:=0; repeat begin if i<10 then istr:='0'+intTostr(i) else istr:= intTostr(i); if i<9 then istr1:='0'+intTostr(i+1) else istr1:= intTostr(i+1); Query.Active:=False; Query.SQL.Clear; Query.SQL.add('UPDATE out_evo_tat'); Query.SQL.add('SET TAT_CHAINE = (SELECT AVG(DELTA_CKIN_RESAN)'); Query.SQL.add('FROM tests'); Query.SQL.add('WHERE TAT_CHAINE = out_evo_tat.TAT_CHAINE '); Query.SQL.add('AND DELTA_CKIN_RESAN BETWEEN 1 AND 3600 '); Query.SQL.add('AND CKIN_NEMO_DT >= ''2013-07-30 '+istr+':00:00'''); Query.SQL.add('AND CKIN_NEMO_DT < ''2013-07-30 '+istr1+':00:00'''); Query.SQL.add('AND Heure = '); Query.SQL.ADD(Quotedstr(intTostr(i))); //memo1.Lines.Append(intTostr(i)+' '+istr+' '+istr1); Query.SQL.add(')'); Query.ExecSQL(true) ; end; i:=i+1; until i>23;
merci d'avance pour vos remarque et suggestions!!!
Bonne nuit....
Partager