Salut

Je suis en train dedévelopper un site en CF (bien entendu, sinon je posterai pas ici) qui utilise une requette, mais j'ai un gros problème de quote qui se transforme en double quote

Voilà une partie du code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<cfset une_variable = "NULL">

<cfif une_condition>
  <cfset une_variable = "'une valeur'"> <!--- Remarquez le " puis le ' --->
</cfif>

<cfquery name="ma_query" datasource="ma_source">
  INSERT INTO MA_TABLE (UNE_COLONE_DE_TYPE_VARCHAR)
             VALUES (#une_variable#)
</cfquery>
Si la condition est validée dans ce cas, j'ai :
[Macromedia][SQLServer JDBC Driver][SQLServer]Ligne 14 : syntaxe incorrecte vers 'une valeur'
...
SQL : INSERT INTO MA_TABLE(UNE_COLONE_DE_TYPE_VARCHAR) VALUES (''une valeur'')
Il s'agit bien de 2 apostrophes entre les parenthèses et non pas des guillements

Alors j'ai tenté la même chose en supprimant l'apostrophe du cfset (pour avoir <cfset une_variable = "une valeur">

et dans ce cas j'ai :
[Macromedia][SQLServer JDBC Driver][SQLServer]Ligne 14 : syntaxe incorrecte vers 'une valeur'
...
SQL : INSERT INTO MA_TABLE(UNE_COLONE_DE_TYPE_VARCHAR) VALUES (une valeur)
Comment ca se fait que Coldfusion me double ces apostrophes ? Quelqu'un a une solution ? parce que je dois pouvoir mettre NULL ou une valeur dans les colones...

Edit : Je rajoute en plus le fait que <cfset une_variable = "'une valeur avec l''apostrophe dedans'"> ne me double pas la double quote déjà existante

PS : Faudrait que j'arrete de jongler avec les mots apostrophes et quotes

Re encore edit :
Coldfusion double les quotes simples, mais pas les doubles, même au milieu de la variable

Si on en met 3 d'affilé, il en sort 4, mais si on en met 4, il en laisse 4

En gros :
' devient ''
'' reste ''
''' devient ''''
'''' reste ''''
et ainsi de suite....

Du coup, je sais pas comment faire pour avoir une valleur "NULL" une chaine vide "''" ou une valeur "'toto'"