Erro CFLoop para entradas ausentes
por favor desconsidere este post. Eu fiz um exemplo mais claro do meu problema aqui:Erro com o CFLoop quando as entradas estão faltando
Estou executando o código CFLoop abaixo.
<code><cfset data = queryNew("sid,firstname,lastname,age","integer,varchar,varchar,integer")> <cfloop index="x" from="1" to="50"> <cfset queryAddRow(data)> <cfset querySetCell(data,"sid",x)> <cfset querySetCell(data,"firstname","#first[x]#")> <cfset querySetCell(data,"lastname","#last[x]#")> <cfset querySetCell(data,"age","#studentage[x]#")> </cfloop> <cfoutput query="data"> #sid# - #firstnamet# #lastname# - #age#<br /> </cfoutput> </code>
As variáveisfirst[x]
, last[x]
estudentage[x]
estão sendo extraídos de uma fonte de dados externa, comX
sendo o índice de loop. Note que o CFLoop tem 50 entradas.
Quando há dados disponíveis, o código funciona lindamente. No entanto, quando há dados ausentes, o código é interrompido. Com isso, quero dizer, se a entrada 11 não tiver um nome listado para ofirst[x]
variável eu recebo um erro ao longo das linhas de"Element first is undefined. The error occurred on line 5
(linha 5 é a entrada para o primeiro nome).
Quando isso acontece, eu gostaria de omitir a entrada 11 (e todas as outras entradas que causam um erro) dos meus resultados e impedir que o erro seja exibido. Como posso fazer isso?
Esclarecimento: Por favor, assuma que os dados estão definidos. Fica um pouco peludo já que estou usando uma fonte de dados externa. Mas o que estou dizendo é que as entradas 1 a 10 aparecem. Quando a entrada é 11, é aí que o erro aparece.