Je ne veux pas continuer sur ce sujet.
J'ai été surpris que le fait de changer ' par '' s'appelait protéger
une chaîne de caractères. C'est tout
J'ai été obligé de modifier ' en '' parce que j'essaie un plugin de
Marco Bambini qui permet de programmer dans le coeur de SQLite3
Sinon je ne changeais rien. REALSQLdatabase le faisait à ma place.
Formidable, Bravo, REALSQLDatabase
jules
Le 24 janv. 07 à 12:13, Jacques Chanliau a écrit :
Je rebondis sur le problème des images sur une base SQL, et en
particulier mySQL.
Il y a bien d'autres caractères interdits dans mySQL, que l'on peut
retrouver dans une image (CHR(0) et autres). J'ai l'habitude, pour
enregistrer une image, de l'encoder auparavant en base64, et de la
décoder ensuite avant de l'afficher. Un autre petit problème est
que je dois sauvegarder l'image lue sur la base sur un fichier
temporaire sur l'ordinateur de l'utilisateur afin de pouvoir la
récupérer comme "picture" en REALbasic.
Quelqu'un a-t-il une solution plus simple ?
Concernant la question initiale, j'utilise la fonction replaceall
pour remplacer les ' par \' ou '' quand je n'utilise pas les
classes DatabaseRecord, qui n'ont pas toujours bien fonctionné lors
des évolutions diverses de RB ou du plugin mySQL.
Jacques Chanliau
Le 24 janv. 07 à 10:29, Stéphane Pinel a écrit :
Le 24 janv. 07 à 10:09, Jacquot Jules a écrit :
je me suis demandé ce que Powel voulait dire par là
protéger une chaîne de caractères ? Qu'es à co ?
Si vous n'utilisez pas les classes DatabaseRecord et RecordSet,
mais que vous exécutez la requête SQL via SQLExecute,
vous avez en effet besoin de "protéger" la chaîne pour tous les
caractères réservés (Escape/Unescape). Ce qui, par exemple
lors d'une insertion d'image, peu devenir assez lourd...
A+
---
Stéphane Pinel
Support Technique en Français
stephane at realsoftware dot fr - http://www.realsoftware.fr
L'avantage d'être intelligent, c'est qu'on peut toujours faire
l'imbécile, alors que l'inverse est totalement impossible
Woody Allen
|