Сбой запросов в 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 с соответствующими атрибутами решит вашу проблему за вас.