j'ai mis la tête ce matin à chercher jusqu'ç ce que j'ai abouti à cette solution et marche très très bien :
donc :
j'ai déposé un Timage, et un TDBimage
après le chargement de l'image bien sûr dans le TDBimage1 comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
If OpenPictureDialogue1.execute THEN
   Image1.picture.LoadFromFile(OpenPictureDialogue1.FileName);
   TDBImage.picture := image1.picture;
Dans l'évènement OnClick du Boutton pour enregistrer, je sauvegarde tous les champs excepter le champ Image que je laisse en dernier,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Query1.Close; 
Query1.ParamBYname('Mon_Premier').text := Edit1.text ;
Quey1.ParamByName('Mon_deuxieme').text := Edit2.text; 
Query1.ExecSQL;
après ces instruction le pointeur qui se déplace dans le dbgrid ce déplace quelque part, donc tDBimage ce déplace vers un autre endroit c'est pour ça qu'on a garder une copie dans le Image1 la-haut, dont il faut remettre le pointeur à sa place sur l'enregistrement en cours, je l'ai fait avec :

FindKey([EditCle.text]) //déplace le pointure vers le champ indexé comme clé,puis

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Table1.Edit ;
DBImage1.Picture := Image1.picture ;
Table1.post;
C Tout
donc l'astuce été :
1- Execution de la requette en premier pour sauvegarder tous les champs, excepter le champ Image
2- Remettre le pointeur sur l'entregistrement en cours d'enregsitrement
3- Effectuer une edition de la table puis sauvegarde du champ Photo