Bonjour à tous,
le code qui suit passe très bien, sauf dans certains cas: ou dans les zones Ecv.conclusions et Ecv.désaccord se retouvent avec des données telles que:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 sdReq est une Source de Données sRequete est une chaîne sTmp est une chaîne // il peut y avoir des apostrophes, alors on double les single quotes // sachant que ce champ est rempli par un champ RTF sTmp = Remplace(Ecv.conclusions,"'","''") Ecv.conclusions = sTmp // on construit la requête sRequete = "UPDATE Ecv SET anneeexercice = " + Ecv.debutexercice + ", suivipar = '" + Ecv.suivipar + "', dossierclos =" + Ecv.dossierclos + ", conclusions = '" + Ecv.conclusions sRequete = sRequete + "', anneederegul = " + Ecv.anneederegul + ", reguleffectuee = '" + Ecv.reguleffectuee + "', Nat_Conclusions = '" + Ecv.Nat_Conclusions + "', desaccord = '" + Ecv.desaccord sRequete = sRequete + "' WHERE IDEcv = " + Ecv.IDEcv + ";"
avec le texte suivant dans Ecv.conclusions,MySQL me jette systématiquement:
"C'est l'année de la régularisation"
car là les caractères accentués sont remplacés par des séquences du type "\'e9" que MySQL interprète différemment.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 UPDATE Ecv SET anneeexercice = 20120101, suivipar = 'VG', dossierclos =0, conclusions = '{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharset0 Trebuchet MS;}} {\colortbl ;\red0\green0\blue0;} {\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\cf1\f0\fs17 c''est l''ann\''e9e de la r\''e9gularisation\cf0\par } ', anneederegul = 0, reguleffectuee = '0', Nat_Conclusions = '0', desaccord = '{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}} {\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\f0\fs24\par } ' WHERE IDEcv = 52080;
Partager