ПРИМЕЧАНИЕ: Как уже отмечали другие: вы почти наверняка делаете что-то не так и, скорее всего, создаете небезопасное и неэффективное приложение, которое станет кошмаром для обслуживания .
Однако, в ответ на ваш конкретный вопрос, да, вы можете (косвенно) использовать cfif
для управления cfquery
атрибутами - передавая структуру магическому атрибуту AttributeCollection
, например, так:
<cfset var QueryAttributes = StructNew() />
<cfset QueryAttributes.Datasource = Arguments.dbSource />
<cfset QueryAttributes.Username = Arguments.dbUser />
<cfset QueryAttributes.Password = Arguments.dbPass />
<cfif StructKeyExists(Arguments,'Timeout')>
<cfset QueryAttributes.Timeout = Arguments.Timeout />
</cfif>
<cfquery name="UpdateRecord" result="updateResult"
AttributeCollection="#QueryAttributes#"
>
...
</cfquery>
(Эта функциональность была введена в CF8.)