Во-первых, код. Я делаю структуру запросов:
<cfset myQueryStruct = {
qone = "select * from t1 where column = <cfqueryparam cfsqltype='cf_sql_varchar' value='#arguments.a1#'>",
qtwo = "select * from t2 where column = <cfqueryparam cfsqltype='cf_sql_varchar' value='#arguments.a1#'>"
}>
Мне нужно выполнять запросы динамически, как показано ниже:
<cfquery name="qName" datasource="#dsn#">
#myQueryStruct[arguments.type]#
</cfquery>
Но я получаю сообщение об ошибке:
Error Executing Database Query.
[Macromedia][SQLServer JDBC Driver][SQLServer]Incorrect syntax near '<'.
Кажется, ошибка связана с "<cfqueryparam cfsqltype='cf_sql_varchar' value='#arguments.a1#'>
" в запросе ("‹")
Я попытался использовать evaluate()
и получил эту ошибку:
Invalid CFML construct found on line 1 at column 15.
ColdFusion was looking at the following text:
t1
Я знаю, что мы можем сделать это, используя лестницу <cfif>
внутри <cfquery>
, но мой вопрос в том, можем ли мы сделать это так, как я упомянул (я должен что-то упустить), или это невозможно в CFML?
cfscript
версиюcfqueryparam
. Не могу сказать наверняка, но похоже, что это может относиться к тому, что вы пытаетесь сделать. cfdocs.org/cfqueryparam - person snackboy   schedule 11.10.2017