voilà mon souci j'ai une erreur :'Invalid Parameter.' après l'execution de

Voilà le code complet :

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
var
a,b,c:integer;
begin
                Query3.Close;
                Query3.sql.clear;
                Query3.sql.Add('SELECT CCode,CTitle,CSurname,CName,CStatus,CAdress1,CAdress2,CAdress3,CPostCode,CCity,CCountry,CEMAIL,CInterest,CLContact,CTotMoney,CWeb,CPhone1,CFax,CMobile');
                Query3.SQL.Add('From Clients');
                Query3.Open;
 
                a:=0;
                b:=0;
                c:=3;
 
                Query3.first;
 
                while not (Query3.Eof) or (b<5000) do
 
                begin
 
                //showmessage(inttostr(a)+' '+inttostr(b)+' '+inttostr(c));
 
                a:=a+1;
 
                 if a=c then
 
                   begin
                   b:=b+1;
                   c:=c+3;
 
                   Query4.Close;
                   Query4.sql.clear;
                   Query4.sql.Add('INSERT INTO ClientsBis');
                   Query4.sql.Add('values (:d,:e,:f,:g,:h,:i,:j,:k,:l,:m,:n,:o,:p,:q,:r,:s,:t,:u,:v)');
                   Query4.Params[0].AsFloat:=Query3.fields[0].AsFloat;
                   Query4.Params[1].AsString:=Query3.fields[1].AsString;
                   Query4.Params[2].AsString:=Query3.fields[2].AsString;
                   Query4.Params[3].AsString:=Query3.fields[3].AsString;
                   Query4.Params[4].AsString:=Query3.fields[4].AsString;
                   Query4.Params[5].AsString:=Query3.fields[5].AsString;
                   Query4.Params[6].AsString:=Query3.fields[6].AsString;
                   Query4.Params[7].AsString:=Query3.fields[7].AsString;
                   Query4.Params[8].AsString:=Query3.fields[8].AsString;
                   Query4.Params[9].AsString:=Query3.fields[9].AsString;
                   Query4.Params[10].AsString:=Query3.fields[10].AsString;
                   Query4.Params[11].AsString:=Query3.fields[11].AsString;
                   Query4.Params[12].AsString:=Query3.fields[12].AsString;
                   Query4.Params[13].AsDateTime:=Query3.fields[12].AsDateTime;
                   Query4.Params[14].AsFloat:=Query3.fields[14].AsFloat;
                   Query4.Params[15].AsString:=Query3.fields[15].AsString;
                   Query4.Params[16].AsString:=Query3.fields[16].AsString;
                   Query4.Params[17].AsString:=Query3.fields[17].AsString;
                   Query4.Params[18].AsString:=Query3.fields[18].AsString;
                   Query4.ExecSQL;
 
                 end;
 
                if b=5000 then
                   showmessage(inttostr(b));
 
                Query3.next;
 
                end;
Merci de votre aide!