Coldfusion 如何使用不同的列名集构建结构?

Coldfusion 如何使用不同的列名集构建结构?,coldfusion,structure,coldfusion-9,cfloop,Coldfusion,Structure,Coldfusion 9,Cfloop,我的cfquery中有两组不同的列。在表单输入字段中,为值保留一组列,为标题保留第二组列。我正在构建服务器端的结构,我希望这两个单独的列。下面是一个例子: <cfquery name="UInfo" datasource="Test"> SELECT TOP 1 u_fname, u_lname, zu_fname, zu_lname FROM Users WITH (NOLOCK) WHERE

我的cfquery中有两组不同的列。在表单输入字段中,为
值保留一组列,为
标题保留第二组列。我正在构建服务器端的结构,我希望这两个单独的列。下面是一个例子:

<cfquery name="UInfo" datasource="Test">
    SELECT TOP 1
        u_fname,
        u_lname,
        zu_fname,
        zu_lname
    FROM Users WITH (NOLOCK)
    WHERE u_urid = '0012341'
</cfquery>

<cfloop query="UInfo">
    <cfset qryRecs = StructNew()>
    <cfloop array="#UInfo.getColumnNames()#" index="columnName">
        <cfset qryRecs[columnName]['value'] = UInfo[columnName][CurrentRow]>
        <cfset qryRecs[columnName]['title'] = (structKeyExists(UInfo, "z"&columnName)? UInfo[columnName][CurrentRow] : "")>
    </cfloop>
</cfloop>
正如您在上面看到的,我的代码也为Z列生成了结构。我不需要这些列的单独结构,它们应该只显示在标题中。我的输出应该是这样的:

U_FNAME     
struct
    title   First Time
    value   Mark
U_FLAST     
struct
    title   New Customer
    value   Miller
我不知道如何获得期望的输出。如果有人能帮忙,请告诉我。谢谢大家!

你有这个:

<cfset qryRecs = StructNew()>

在一个循环中。在此之前:

<cfloop query="UInfo">

您有:

<cfset qryRecs = StructNew()>

在一个循环中。在此之前:

<cfloop query="UInfo">

显示您只需在列名循环中的列名上使用if语句即可

<cfif left(columnName, 1) eq "u">

显示您只需在列名循环中的列名上使用if语句即可

<cfif left(columnName, 1) eq "u">


捕捉得好。你对我上面的问题有什么建议吗?谢谢。我真的不明白你想要实现什么,或者你为什么想要实现它,所以我没有任何其他建议。很好。你对我上面的问题有什么建议吗?谢谢。我真的不明白你们想要实现什么,或者你们为什么想要实现它,所以我没有任何其他建议。我也找到了解决办法。唯一的区别是我使用Find(“u”,columNames,0)来检查第一个字母是否是u。我不确定这个解决方案是否会导致任何问题。我也找到了解决方案。唯一的区别是我使用Find(“u”,columNames,0)来检查第一个字母是否是u。我不确定这个解决方案是否会导致任何问题。