bonjour les développeurs fous,

je me frotte aux procédures stockées avec Delphi 2007 et MySQL.
Mais si je suis là c'est que je n'y arrive pas ! Of course j'utilise un composant tsqlstoredproc pré initialiser avec le nom de la procédure stockée et les paramètres pré déclarés0

Voici pour commencer le message d'erreur de Delphi :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EmptyTable' at line 1

Voici ma procédure stockée :
delimiter $$
DROP procedure IF EXISTS benef_update $$

CREATE PROCEDURE
`benef_update`
(vbenefid INTEGER, vprenom VARCHAR(100),vnom VARCHAR(100),vnaissance VARCHAR(100),
vactif INTEGER,vsiteid INTEGER,vparente INTEGER)
BEGIN
UPDATE `benefici` SET `benef_nom` = Vnom , `benef_prenom` = vprenom ,
`vbenef_naissance` = vnaissance , `benef_actif` = vactif , `benef_siteid` = vsiteid ,
`benef_parente` = vparente WHERE `benef_id` = vbenefid;
end $$

delimiter ;
Voici mon code delphi :

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
 
with DM.Proc_Benef_Update do 
begin 
 Params.ParamByName('vbenefid').Value := Benef_Record.id; 
Params.ParamByName('vprenom').Value := Trim(benef_Editnom.text); 
Params.ParamByName('vnom').Value := Trim(benef_Editnom.text); 
if Trim(benef_EditNaiss.Text) = '' then Params.ParamByName('vnaissance').Value := ''; 
if Trim(benef_EditNaiss.Text) <> '' then Params.ParamByName('vnaissance').Value := ValideDate(Trim(benef_EditNaiss.Text)); 
if CaseActif.Checked = True then Params.ParamByName('vactif').Value := 1; 
if CaseActif.Checked = False then Params.ParamByName('vactif').Value := 0; 
Params.ParamByName('vsiteid').Value := Integer(ListSites.Items.Objects[ListSites.itemindex]); 
Params.ParamByName('vparente').Value := Integer(Benef_ListParentes.Items.Objects[Benef_ListParentes.itemindex]); 
Try 
ExecProc; 
Except 
on E:Exception do 
Begin 
MessageDlg(E.Message,mtError, [mbok],0 ); 
Exit; 
end; 
End; 
end;
1000 mercis de votre aide.
Dimitri