PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → A l'aide : Image dans une base MySQL
A l'aide : Image dans une base MySQL
Débuté par guest, 30 jan. 2006 15:10 - 3 réponses
Posté le 30 janvier 2006 - 15:10
Bonjour,

J'ai besoin d'enregistrer une image dans une base MySQL. Pas le chemin de cette image mais l'image elle-même.

J'ai lu qu'il fallait utiliser un champ blob mais quel est le code exact à utiliser dans windev pour envoyer l'image et pas son chemin ?
Et ensuite comment réccupérer cette image et la faire afficher dans un champ image windev ?

Je voudrais aussi éviter d'utiliser les fonctions H. Un SQLExec(...) me conviendrait mieux.

Merci d'avance,
Julie
Posté le 30 janvier 2006 - 15:32
regarde HAttacheMémo()

Julie P. a formulé ce mardi :
Bonjour,

J'ai besoin d'enregistrer une image dans une base MySQL. Pas le chemin de
cette image mais l'image elle-même.

J'ai lu qu'il fallait utiliser un champ blob mais quel est le code exact à
utiliser dans windev pour envoyer l'image et pas son chemin ? Et ensuite
comment réccupérer cette image et la faire afficher dans un champ image
windev ?

Je voudrais aussi éviter d'utiliser les fonctions H. Un SQLExec(...) me
conviendrait mieux.

Merci d'avance,
Julie



--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Posté le 30 janvier 2006 - 16:01
Et sans fonction H ???
Posté le 30 janvier 2006 - 16:52
"Julie P." <guest@newsgroup.fr> a écrit dans le message de
news:43df493e$1@news.pcsoft.fr...

Bonjour,

J'ai besoin d'enregistrer une image dans une base MySQL. Pas le chemin de

cette image mais l'image elle-même.

J'ai lu qu'il fallait utiliser un champ blob mais quel est le code exact à

utiliser dans windev pour envoyer l'image et pas son chemin ?
> Et ensuite comment réccupérer cette image et la faire afficher dans un
champ image windev ?

Je voudrais aussi éviter d'utiliser les fonctions H. Un SQLExec(...) me

conviendrait mieux.

Merci d'avance,
Julie


Bonjour,

Pour me simplifier la vie, je stocke toujours les images dans un champ mémo
texte de la base de données. Pour convertir une image (ou n'importe quel
fichier d'ailleurs) en texte, j'utilise la fonction Crypte() avec les
options CrypteAucun, pas de mot de passe, et le mode texte à vrai
(correspond à un encodage en Base64). On obtient ensuite une chaine format
texte qu'il est possible de stocker dans n'importe quelle BD dans un champ
au format memo texte. La restitution de l'original se fait en utilisant la
fonction Decrypte() avec les mêmes options.

Cette simplicité se paie par une augmentation de 33% environ du volume
occupé dans la BD (l'encodage Base64 produit 3 octets de texte pour 2 octets
binaires), mais c'est un problème de moins en moins génant aujourd'hui étant
donné le coût ridicule de l'espace disque.

Michel Fages