【发布时间】:2017-07-23 17:09:27
【问题描述】:
我有一个可以返回多条记录的查询。我的查询中有两列,一列输出日期值,第二列是类型。我想检查每一行的类型并输出列表中的日期。出于某种原因,我当前的代码在同一输入字段中输出所有日期值,这不是我想要的。这是我的代码:
<cfquery name="getUserRec" datasource="MyDBone">
SELECT CONVERT(VARCHAR(10), u_begDt, 101) AS u_begDt, u_type
FROM Users WITH (NOLOCK)
WHERE u_uid = <cfqueryparam value="#uid#" cfsqltype="cf_sql_char" maxlength="15">
AND u_type IN ('A','C','M','S')
</cfquery>
查询会产生这样的记录:
u_begDt u_type
03/16/2017 A
03/01/2017 C
03/01/2017 S
03/16/2017 M
02/01/2013 S
07/16/2015 A
现在我想在 4 个单独的输入字段中输出这些记录:
<cfoutput>
<input type="hidden" name="begDtA" id="begDtA" value="<cfif trim(getUserRec.u_type) EQ 'A'>#ValueList(getUserRec.u_begDt,",")#</cfif>" readonly="readonly" />
<input type="hidden" name="begDtC" id="begDtC" value="<cfif trim(getUserRec.u_type) EQ 'C'>#ValueList(getUserRec.u_begDt,",")#</cfif>" readonly="readonly" />
<input type="hidden" name="begDtM" id="begDtM" value="<cfif trim(getUserRec.u_type) EQ 'M'>#ValueList(getUserRec.u_begDt,",")#</cfif>" readonly="readonly" />
<input type="hidden" name="begDtS" id="begDtS" value="<cfif trim(getUserRec.u_type) EQ 'S'>#ValueList(getUserRec.u_begDt,",")#</cfif>" readonly="readonly" />
</cfoutput>
我当前的代码将在同一隐藏字段中输出所有日期值,看起来我的 cfif 语句被忽略/不正确。如果有人看到我的问题在哪里或解决此问题的不同方法,请告诉我。
【问题讨论】:
-
如果您确实需要为每种类型提供一个字段,请尝试使用分组输出。尽管为什么不使用每个名称生成多个字段呢?这将在操作页面上生成所需的 CSV 列表。另外,哪个 DBMS?
-
你能举个例子吗?
-
哪一个?您真的需要为每种类型提供一个表单字段,还是在操作页面上为每种类型提供一个值列表?
-
我需要为每种类型提供单独的输入字段,以保存该类型的日期值列表。这有意义吗?
标签: sql sql-server-2008 coldfusion coldfusion-9 cfquery