Как указал nykash, тело cfoutput query
(или cfloop query
) никогда не будет выполнено, если нет записей, поэтому проверка на нулевое количество записей никогда не будет истинной внутри одного.
Тем не менее, я нахожу следующий пример более читабельным:
<cfif NOT checkForAd.RecordCount >
<!--- Display some message. --->
</cfif>
<cfoutput query="checkForAd">
<!--- loop through data --->
</cfoutput>
Это может показаться не слишком изолированным, но я думаю, что это немного чище и легче увидеть, что происходит, особенно в сочетаниис другим кодом.
В частности, при проверке RecordCount, если я забочусь о конкретном номере, я буду использовать EQ (или NEQ / GT / и т. д.), но если я буду заботиться только о том, чтобы "иметь записи" против "не"имея записи ", тогда я использую неявное логическое преобразование, которое CFML предоставляет, чтобы упростить код.Это действительно облегчает идентификацию, когда я использую общий двоичный выбор или более значимый, поэтому навигация по коду становится проще.