le code pour l'ajoute marche très bien si l'enregistrement n'existe pas on l'ajoute mais si l'enregistrement existe et différent on doit le maitre ajoure

le code de modification ou de la mise ajour ne marche pas j'ai des erreurs de syntaxe c'est le code apres le ELSE

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
ZQuery1.SQL.Text:='INSERT INTO tblSystems(NAME,PROVIDERID,KEYINDEX,KEY,COMMENTS) VALUES (:pN,:pP,:pKI,:pK,:pC)';
if not Ztable2.locate('Name;ProviderID;KeyIndex;key',VarArrayOf([System1,provider1,index1,key1]),[])
then
begin
                // ajouter les données
ZQuery1.Connection.StartTransaction;
ZQuery1.ParamByName('pN').Value := System1;
ZQuery1.ParamByName('pP').Value := provider1;
ZQuery1.ParamByName('pKI').Value := index1;
ZQuery1.ParamByName('pK').Value := key1;
ZQuery1.ParamByName('pC').Value :=DateTimeToStr(now);
ZQuery1.ExecSQL;
end else
             // Maitre ajour les données
if Ztable2.locate('Name;ProviderID;KeyIndex,key',VarArrayOf([System1,provider1,index1,key1]),[])
then if Ztable2.FieldByName('Name').Value <> key1
then
begin
ZQuery1.close;
ZQuery1.sql.clear;
ZQuery1.SQL.Add('UPDATE tblSystems');
ZQuery1.SQL.Add('SET KEY= :key1');
ZQuery1.SQL.Add('WHERE Name = :System1 , ProviderID = :provider1 , KeyIndex = :index1');
ZQuery1.ExecSQL;
end;
de l'aide svp et merci d'avance