2 pièce(s) jointe(s)
[MySQL] Erreur de vérification d'étendue
Bonjour,
tout est dans le titre
j'ai cette erreur lorsque je lance la procédure
et je ne vois pas ou se situe l'erreur
Petite précision, le LOTO me sert juste de base pour me replonger
dans la programmation sous Delphi
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 41 42 43 44 45 46 47 48 49
| procedure TForm1.Button4Click(Sender: TObject);
var i, X, Z, refus : integer;
num, tir : array of integer;
begin
refus:= 0;
for i:=1 to 10000 do
begin
FDQuery1.SQL.Text:='SELECT id, n1, n2, n3, n4, n5 FROM combinaison WHERE id=:i';
FDquery1.Open('',[i]);
num[1]:= FdQuery1.FieldByName('n1').AsInteger;
num[2]:= FdQuery1.FieldByName('n2').AsInteger;
num[3]:= FdQuery1.FieldByName('n3').AsInteger;
num[4]:= FdQuery1.FieldByName('n4').AsInteger;
num[5]:= FdQuery1.FieldByName('n5').AsInteger;
for X:=1 to 7309 do
begin
FDQuery2.SQL.Text:='SELECT n1, n2, n3, n4, n5 FROM histo_loto';
tir[1]:= FdQuery2.FieldByName('n1').AsInteger;
tir[2]:= FdQuery2.FieldByName('n2').AsInteger;
tir[3]:= FdQuery2.FieldByName('n3').AsInteger;
tir[4]:= FdQuery2.FieldByName('n4').AsInteger;
tir[5]:= FdQuery2.FieldByName('n5').AsInteger;
Z:= 0;
if num[1] = tir[1] then Z:= Z+1;
if num[2] = tir[2] then Z:= Z+1;
if num[3] = tir[3] then Z:= Z+1;
if num[4] = tir[4] then Z:= Z+1;
if num[5] = tir[5] then Z:= Z+1;
if Z = 5 then
begin
FDQuery1.SQL.Text:='DELETE FROM combinaison WHERE id=:i';
refus := refus +1 ;
Edit19.Text:= IntToStr(refus);
end;
end;
end;
Edit19.Text:= IntToStr(refus);
FDquery1.Close;
FDquery2.Close;
end; // fin de procedure |
les tables concernées
Pièce jointe 655851