Enregistrer un objet en tant que blob [C++ / SQL] - C++ - Programmation
Marsh Posté le 28-05-2008 à 14:32:02
Remonte petit topic, et apporte moi une aide somme toute assez urgente
Marsh Posté le 28-05-2008 à 15:01:51
la technique classique de serialisation consiste à prendre toutes les données de ton objets de les écrires dans un tableau de unsigned char et de sauvé ce tableau sous forme de blob.
Marsh Posté le 28-05-2008 à 15:10:45
ah ça aprés moi SQL \o/ je pense juste que le bon vieux serialize to bytestream avait l'air aps mal
Marsh Posté le 28-05-2008 à 15:12:06
Joel F a écrit : ah ça aprés moi SQL \o/ je pense juste que le bon vieux serialize to bytestream avait l'air aps mal |
si c'est un fichier, il suffit de le lire et ouala.
Marsh Posté le 28-05-2008 à 15:15:25
Ok, je saisis bien le concept de sérialisation, c'est un peu ce que je craignais devoir faire - et ça m'a l'air potentiellement fastidieux vu la tête bien imbriquée de mes objets -
Quid de l'injection par contre, de quoi s'agit-il ?
Marsh Posté le 28-05-2008 à 11:51:44
Bonjour,
Je rencontre actuellement un petit souci pour enregistrer un objet perso en tant que blob dans une base SQL (mes connaissances en SQL se résument malheureusement à copier/coller des bouts de code déjà existant, je suis stagiaire dans une boîte, et ne fais que réutiliser des codes. Passé le insert into, je bugge )
Voilà ma classe :
Les CvHistogram étant des structures d'openCV contenant en gros 2-3 int/float et un gros tableau.
J'ai trouvé des explications diverses sur internet sur comment enregistrer une image en blob. La méthode consiste apparemment à passer par un fichier où enregistrer l'image. Seulement je ne sais pas comment m'y prendre avec un objet quelconque.
J'ai plusieurs pistes cependant : dois-je essayer de passer par un fichier de la même manière ? Dois-je surdéfinir les opérateurs de flot pour que l'insertion se passe sans problème avec des commandes du type :
(ça n'a rien à voir, mais c'est un exemple).
Dois-je définir des fonctions pour transformer mon objet en une chaîne de caractères que je sache encoder/décoder ?
Bref si quelqu'un peut me confirmer qu'une de ces pistes peut aboutir, ou m'en suggérer une meilleure, ça pourrait beaucoup m'aider.
Merci.
Sylvain.