如何从QueryAddRow()中添加一行来自查询结果的第一行?

JS.*_*JS. 8 coldfusion coldfusion-8

我正在输出查询但需要指定结果的第一行.我正在使用QueryAddRow()添加行并使用QuerySetCell()设置值.我可以创建行,我可以将内容添加到该行.如果我从QuerySetCell()中删除行号的参数,那么它在输出时作为查询的最后结果都可以正常工作.但是,我需要它作为查询的第一行,但是当我尝试使用QuerySetCell设置row属性时,它只会覆盖我查询中的第一个返回的行(即我的QueryAddRow()替换了我的查询中的第一个记录).我目前所拥有的是从recordCount设置变量并安排输出,但必须有一个非常简单的方法来做到这一点,我只是没有得到.此代码将行值设置为1,但会覆盖查询中第一个返回的行.

<cfquery name="qxLookup" datasource="#application.datasource#">
    SELECT xID, xName, execution
    FROM table
</cfquery>

<cfset QueryAddRow(qxLookup)/>
<cfset QuerySetCell(qxLookup, "xID","0",1)/>
<cfset QuerySetCell(qxLookup, "xName","Delete",1)/>
<cfset QuerySetCell(qxLookup, "execution", "Select this to delete",1)/>

<cfoutput query="qxLookup">
    <tr>
        <td>
            <a href="##" onclick="javascript:ColdFusion.navigate('xSelect/x.cfm?xNameVar=#url.xNameVar#&xID=#qxLookup.xID#&xName=#URLEncodedFormat(qxLookup.xName)#', '#xNameVar#');ColdFusion.Window.hide('#url.window#')">#qxLookup.xName#</a>
        </td>
        <td>#qxLookup.execution#</td>
    </tr>
</cfoutput>
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

Ken*_*ler 6

我会在原始查询中添加某种排序顺序列,并使用固定值填充它1.

<cfquery name="qxLookup" datasource="#application.datasource#">
SELECT xID, xName, execution, 1 as sortorder
FROM table
</cfquery>
Run Code Online (Sandbox Code Playgroud)

将合成行中该列的值设置为值0.

<cfset QueryAddRow(qxLookup)>
...
<cfset QuerySetCell(qxLookup, "sortorder", "0",1)>
Run Code Online (Sandbox Code Playgroud)

然后使用查询查询按sortorder列重新排序记录集.

<cfquery name="qxLookup" dbtype="query">
select xid, xname, execution
from qxLookup
order by sortorder
</cfquery>
Run Code Online (Sandbox Code Playgroud)