2017-10-05 6 views
0

J'insère une colonne récupérée de la feuille de calcul contenant le caractère espace. Je reçois cette erreur:Comment insérer un nom de colonne contenant de l'espace

Invalid CFML construct found on line 64 at column 43.

<cfqueryparam value="#[F Repro 

Comment puis-je insérer dans la table à l'aide ColdFusion. Ci-dessous est mon code:

<cfloop query="exceldata" startrow="2"> 
    insert into test_excel([F Pro]) 
    values(<cfqueryparam value="#[F Repro]#" cfsqltype="cf_sql_integer">) 
</cfloop> 
+1

Modifiez votre base de données afin qu'aucune des colonnes ne contienne des espaces dans leurs noms. –

Répondre

2

Si le nom de colonne de la base de données contient un espace, vous devrez le placer entre crochets. Comme ceci:

<cfloop query="exceldata" startrow="2"> 
    insert into test_excel([F Pro]) 
    values(<cfqueryparam value="#variables["F Repro"]#" cfsqltype="cf_sql_integer">) 
</cfloop> 

ColdFusion n'autorise pas non plus les espaces dans les noms de variables. Si vous obtenez l'idée, les espaces dans les noms sont une mauvaise idée. Quoi qu'il en soit, si vous êtes coincé avec l'espace, vous pouvez essayer d'accéder à la variable en utilisant la portée des variables.

+0

Je suis déjà en utilisant des crochets mais il ne fonctionne pas –

+0

vous les utilisez au mauvais endroit. –

+0

Je l'utilise dans un insert comme celui-ci. insérer dans le test ([F Pro]). et j'ai plus de 50 colonnes dans mon db la plupart d'entre eux ont de l'espace. –