Сбой запросов в Coldfusion 10

Я получаю и ошибку, когда я пытался сделать запрос запроса.

Таблица с именем allData не найдена в памяти. Имя написано с ошибкой или таблица не определена.

У меня есть документ Excel, и я вывожу переменную Coldfusion под названием allData, а затем делаю запрос к этой переменной. но я получаю ошибку:

Что я делаю неправильно? Первый дамп показывает таблицу соответствующим образом.

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>

2 ответа

Решение

(Из комментариев...)

Я должен запустить, но короткий ответ - переменная запроса из электронной таблицы не находится в области действия в Query.cfc. (В документации по Query.cfc несколько отсутствует IMO.) Либо передайте объект запроса в качестве параметра, т.е. new Query(...., allData=allData) или использовать <cfquery> вместо.

Учитывая, что дамп работает, переменная allData существует. Тег cfquery с соответствующими атрибутами решит вашу проблему за вас.

Другие вопросы по тегам