1

以下 QoQ 的倾销结果非常好:

<cfquery datasource = "XX.XX.X.XX" name="master2">
   SELECT  DATE(Timedetail) as FIRSTCONN
           , count(Timedetail) as FIRSTOccurances
           , EVENTS 
   FROM    MyDatabase
   WHERE   EVENTS = "FIRST" GROUP BY FIRSTCONN 
<!--- LIMIT 0,10 --->;
</cfquery> 

<cfdump var="#master2#">

<cfquery dbtype="query" name="detail2">
    SELECT  *
    FROM    master2 
    WHERE   FIRSTCONN  >= <cfqueryparam value="#startdate#" cfsqltype="cf_sql_date"> 
    AND     FIRSTCONN  <  <cfqueryparam value="#enddate#" cfsqltype="cf_sql_date">;
</cfquery>  

Dumping Result: <cfdump var="#detail2#"><cfabort>

但是,当我尝试在 QoQ 上使用以下检查时:

 Dumping Result: <cfdump var="#detail2.FIRSTCONN#"><cfabort>

我没有看到完整的FIRSTCONN值列表。相反,我只看到一行:

  Dumping Result: {ts '2013-06-29 00:00:00'}

理想情况下,我应该在浏览器中看到所有列表FIRSTCONN,不是吗?

4

3 回答 3

5

您正在查看冷融合的默认行为。当您 output 或 dumpqueryname.fieldname并且不指定行号时,您会从第一行获取值。如果您想查看所有行,您的选择是:

  1. 看价值清单
  2. 输出/转储整个查询
  3. 只为该列执行另一个 q of q 并 cfdump 它。
  4. 使用带有查询属性的 cfoutput 并仅输出该字段
于 2013-08-08T16:03:29.007 回答
1
如果您希望生成与 cfdump 在转储查询时生成的相同的结构化输出,我有两个建议:


我的第一个倾向:

<cfdump var="#ListToArray(ValueList(queryName.columnName))#" />

这显然是丹建议的一个非常小的延续。


第二个适用于 CF 8+,它是

正是您想要的:

<cfdump var="#queryName#" show="columnName"/>


您可以通过show属性指定要在输出中显示的列,也可以通过为hide属性分配值来隐藏特定列。

CF Docs 中的 CFAbort

诚然,这篇文章已经快 18 个月了,但也许这会对偶然发现这个页面的人有所帮助。

于 2015-01-22T01:38:01.560 回答
0

这有点离题,但我想指出,在我的 CF2016 实例中,cfdump 函数会抑制列的输出(并使它们显示为空),其中包含大量文本(或可以选择很多文字)。我不确定是表格字段的 nVarChar(max) 设置还是什么,但为了查看这些大字段的内容,我实际上必须进行单独的查询,只选择这一个字段,并使用单独的 cfdump 以查看其内容。这仅用于调试目的,但它可以防止您发疯并一遍又一遍地重写您的更新和插入语句(因为它们似乎无法一直工作)......

于 2021-11-05T18:10:16.237 回答