1

我正在从电子表格中读取数据。电子表格中的一列包含空格。

例如,列名称为 [first name,last name,roll]。

qryObj阅读电子表格后,我得到了一个。现在,当我尝试从查询中读取名字时

<cfquery dbtype="query" name="getName">
    SELECT [first name]
    FROM   qryObj
</cfquery>

它正在抛出 db 错误。我也尝试过,['first name']但仍然抛出错误。

错误是:

Query Of Queries syntax error.
Encountered "[. Incorrect Select List, Incorrect select column
4

3 回答 3

9

我做了一些疯狂的事情,比如用谷歌搜索看看人们在其他情况下做了什么,并尝试了各种 SQL 方法来转义非标准列名(反引号、方括号、双引号、它们的组合),然后画了一个空白。所以我同意@da_didi 的观点,即 QoQ/IMQ 不适合这一点。您应该在Adob​​e 错误跟踪器中提出票证。

您可以这样做SELECT *,这样就无需引用列名。或者您可以序列化查询,使用字符串替换来重命名列,再次反序列化它,然后在修改后的名称上进行 QoQ。不过,我只会用少量数据来做这件事。

或者您可以推回 XLS 文件的所有者并说“除非您修改列名,否则不能这样做”。

您也可以使用 XLS 文件中的列名来隐藏excludeHeaderRow列名,然后指定您自己的列名。我怎么发现有人可以做到这一点?通过RTFMing<cfspreadsheet>文档。_

于 2014-01-23T11:26:42.060 回答
0

你不能。最佳实践:我总是用下划线替换所有空格。

于 2014-01-23T10:22:34.970 回答
0

简单的。只是别名选择。从 qryObj 中选择 [FIRST NAME] 作为 FIRSTNAME

于 2015-08-24T13:26:42.797 回答