Je fais des requêtes SQL sur des fichiers HF (HExecuteRequeteSQL).
Tout fonctionne bien, jusqu'à ce que j'ai des quotes et des slashes.
Pour les quotes, je faisais un Remplace(TexteSQL,"'","''") et ça semblait
marcher.
Mais si j'ai des quotes et des slashes qui se mélangent, quoi faire ??
Ca arrive pour du texte RTF, Exemple de ce que je voudrais enregistrer dans
le fichier HF par requête:
{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharset0
Arial;}}<RC>{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\f0\fs16
l\rquote archivage : L'archivage/d\'e9sarchivage ont le m\'eame raccourci
\par<RC>}<RC>ÿ{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fnil\fcharset0
MS Shell Dlg;}}<RC>{\*\generator Msftedit
5.41.15.1507;}\viewkind4\uc1\pard\f0\fs17\par<RC>}<RC>
Ce qui me pose problème, c'est le mot "désarchivage", qui en RTF donne
apparemment "d\'e9sarchivage" et le "\'" pose problème...
J'ai essayer de doubler les slashes, mais ça ne marche pas ?...
Tu n'as qu'à "crypter" ta chaine en base 64 (cf fonction crypte/decrypte avant de la stocker. (et évidemment tu devras la décrypter avant utilisation)
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Antoine
Bonjour,
Merci pour ta réponse.
Malheureusement je ne peux pas utiliser ta solution... Le fichier que j'utilise est aussi utilisé par d'autres applications Windev existantes et développées par une autre société. Je dois donc conserver le format actuel de la rubrique. Ces autres applications font des modifications dans les fichiers HF par des HModifie mais je voudrais être 100% SQL et ne pas passer par des HModifie.
Il me faut donc absolument faire l'équivalent du HModifie mais en requête.
Antoine
"Romain PETIT" a écrit dans le message de news:
Antoine avait soumis l'idée :
Bonjour,
Bonjour,
Merci pour votre aide !!
Tu n'as qu'à "crypter" ta chaine en base 64 (cf fonction crypte/decrypte avant de la stocker. (et évidemment tu devras la décrypter avant utilisation)
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Bonjour,
Merci pour ta réponse.
Malheureusement je ne peux pas utiliser ta solution... Le fichier que
j'utilise est aussi utilisé par d'autres applications Windev existantes et
développées par une autre société. Je dois donc conserver le format actuel
de la rubrique. Ces autres applications font des modifications dans les
fichiers HF par des HModifie mais je voudrais être 100% SQL et ne pas passer
par des HModifie.
Il me faut donc absolument faire l'équivalent du HModifie mais en requête.
Antoine
"Romain PETIT" <VoirM@Signature.fin> a écrit dans le message de news:
mn.fb347d835acb8c73.2248@Signature.fin...
Antoine avait soumis l'idée :
Bonjour,
Bonjour,
Merci pour votre aide !!
Tu n'as qu'à "crypter" ta chaine en base 64 (cf fonction crypte/decrypte
avant de la stocker.
(et évidemment tu devras la décrypter avant utilisation)
A+
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Malheureusement je ne peux pas utiliser ta solution... Le fichier que j'utilise est aussi utilisé par d'autres applications Windev existantes et développées par une autre société. Je dois donc conserver le format actuel de la rubrique. Ces autres applications font des modifications dans les fichiers HF par des HModifie mais je voudrais être 100% SQL et ne pas passer par des HModifie.
Il me faut donc absolument faire l'équivalent du HModifie mais en requête.
Antoine
"Romain PETIT" a écrit dans le message de news:
Antoine avait soumis l'idée :
Bonjour,
Bonjour,
Merci pour votre aide !!
Tu n'as qu'à "crypter" ta chaine en base 64 (cf fonction crypte/decrypte avant de la stocker. (et évidemment tu devras la décrypter avant utilisation)
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Romain PETIT
Antoine a émis l'idée suivante :
Il me faut donc absolument faire l'équivalent du HModifie mais en requête.
Alors essaye : Remplace(TexteSQL,"'","'")
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Antoine a émis l'idée suivante :
Il me faut donc absolument faire l'équivalent du HModifie mais en requête.
Alors essaye :
Remplace(TexteSQL,"'","\'")
A+
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
J'utilise un LEFT(' ',1) pour insérer l'antislash quand il est suivi d'une quote... J'ai pas trouvé la fonction CARACT() ou l'équivalent en SQL-Windev (il y a bien ASCII mais pas l'inverse).
Voilà, merci Romain pour ton temps passé.
Antoine
"Romain PETIT" a écrit dans le message de news:
Antoine a émis l'idée suivante :
Il me faut donc absolument faire l'équivalent du HModifie mais en requête.
Alors essaye : Remplace(TexteSQL,"'","'")
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Salut, malheureusement j'avais déjà essayé ta suggestion, ça ne marchait pas
non plus...
Le problème est bien le cas du antislash+quote...
Alors finalement j'ai contourné le problème avec un truc un peu ignoble mais
qui marche...:
J'utilise un LEFT(' ',1) pour insérer l'antislash quand il est suivi d'une
quote... J'ai pas trouvé la fonction CARACT() ou l'équivalent en SQL-Windev
(il y a bien ASCII mais pas l'inverse).
Voilà, merci Romain pour ton temps passé.
Antoine
"Romain PETIT" <VoirM@Signature.fin> a écrit dans le message de news:
mn.fb5e7d830a36c13f.2248@Signature.fin...
Antoine a émis l'idée suivante :
Il me faut donc absolument faire l'équivalent du HModifie mais en
requête.
Alors essaye :
Remplace(TexteSQL,"'","\'")
A+
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
J'utilise un LEFT(' ',1) pour insérer l'antislash quand il est suivi d'une quote... J'ai pas trouvé la fonction CARACT() ou l'équivalent en SQL-Windev (il y a bien ASCII mais pas l'inverse).
Voilà, merci Romain pour ton temps passé.
Antoine
"Romain PETIT" a écrit dans le message de news:
Antoine a émis l'idée suivante :
Il me faut donc absolument faire l'équivalent du HModifie mais en requête.
Alors essaye : Remplace(TexteSQL,"'","'")
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)