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 :
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 If OpenPictureDialogue1.execute THEN Image1.picture.LoadFromFile(OpenPictureDialogue1.FileName); TDBImage.picture := image1.picture;
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 :
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;
FindKey([EditCle.text]) //déplace le pointure vers le champ indexé comme clé,puis
donc l'astuce été :
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
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
Partager