我有一个来自 cfquery 的查询结果集。我只想在特定行号后添加一个新的。但是每次尝试时它都会在最后插入行。
有什么办法可以在查询中间插入行吗?
<cfquery datasource="cse" name="abc">
select * from grade
</cfquery>
<cfset i = 0>
<cfloop query="abc">
<cfset i = i+1>
<cfif i eq 2>
<cfset queryAddRow(abc)>
</cfif>
</cfloop>
最佳答案
你不能,很容易。你有一个耦合选项。
<cfquery name="resultSet" dbtype="query">
SELECT col1, col2, etc
FROM yourQuery
WHERE [somecondition matching the "top" rows]
UNION
SELECT 'value' AS col1, 'value' AS col2, etc
UNION
SELECT col1, col2, etc
FROM yourQuery
WHERE [somecondition matching the "bottom" rows]
</cfquery>
或者,您可以简单地遍历原始查询,使用
queryNew()
构建新查询。 , queryAddRow()
和 querySetCell()
.在循环中的适当点...添加要插入的行,然后继续添加其余的行。我想不出优雅的方法。
关于coldfusion - 我们如何在 cfquery 结果中间添加一个新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21578216/