1

当我尝试查询查询时出现错误。

在内存中找不到名为 allData 的表。名称拼写错误或未定义表。

我有一个 excel 文档,我正在输出到一个名为 allData 的冷融合 var,然后我正在对该 var 进行查询。但我收到一个错误:

我究竟做错了什么?第一个转储适当地显示了该表。

function name="validateExcel" access="public" output="yes" returnType="void" 
hint="search for dogs">

<cfspreadsheet
 action="read"
 src="#SESSION.theExcelFile#"
 headerrow= "1"
 excludeHeaderRow = "true"
 query = "allData"
 rows = "1-25"/>


  <cfdump var = "#allData#"/>

  <cfset rotCheck = new Query(
        sql =  "SELECT * FROM allData where dogType like '%rot'",
        dbtype = "query"

  ) />

  <cfset dogResult = rotCheck.execute().getResult() />

  <cfdump 
  var = "#dogResult#" />

 </cffunction>
4

2 回答 2

2

(来自评论......)

我必须运行,但简短的回答 - 电子表格中的查询变量不在 Query.cfc 的范围内。(Query.cfc 上的文档有点缺乏 IMO。)要么将查询对象作为参数传递, 要么new Query(...., allData=allData)使用 a<cfquery>代替。

于 2014-02-17T01:48:21.977 回答
1

鉴于转储有效,allData 变量存在。具有适当属性的 cfquery 标记将为您解决问题。

于 2014-02-15T23:24:55.673 回答