首先,代码。我正在做一个查询结构:
<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 中不可能?