この投稿は無視してください。ここで問題のより明確な例を作成しました: エントリが欠落している場合の CFLoop のエラー
以下の CFLoop コードを実行しています。
<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>
変数first[x]
、last[x]
、およびは、ループ インデックスstudentage[x]
を使用して、外部データ ソースから取得されます。X
CFLoop には 50 のエントリがあることに注意してください。
利用可能なデータがある場合、コードは美しく機能します。ただし、欠落しているデータがあると、コードが壊れます。つまり、エントリ 11 にfirst[x]
変数の名前がリストされていない場合、次の行に沿ってエラーが発生します。"Element first is undefined. The error occurred on line 5
(5 行目は名のエントリです)。
これが発生した場合、結果からエントリ 11 (およびエラーの原因となる他のすべてのエントリ) を省略し、エラーが表示されないようにしたいと考えています。これどうやってするの?
明確化:データが定義されていると仮定してください。外部データソースを使用しているため、少し面倒です。しかし、私が言いたいのは、エントリ 1 から 10 が表示されるということです。エントリー 11 の番になると、エラーが発生します。