Coldfusion查询断列结构
根据我过去的经验,coldfusion查询的列可以像二维数组一样被引用。虽然有时我会遇到这个问题Coldfusion查询断列结构,coldfusion,cfml,cfquery,Coldfusion,Cfml,Cfquery,根据我过去的经验,coldfusion查询的列可以像二维数组一样被引用。虽然有时我会遇到这个问题 从电子表格创建查询 将列名放入数组中 尝试访问行时仅获取第一个元素 必须使用变通方法 我只剩下第一列中的第一个元素。我当然得到: structInsert(jsonStruct,jsonHeaders[j],imports[columnHeaders[j]][i]); 尝试执行此操作时: writeDump(ListToArray(ArrayToList(imports[columnHea
structInsert(jsonStruct,jsonHeaders[j],imports[columnHeaders[j]][i]);
尝试执行此操作时:
writeDump(ListToArray(ArrayToList(imports[columnHeaders[1]],'|'),'|',true));
然而,这是可行的:
ListToArray(ArrayToList(query["column"]));
ListToArray(valueList(query.column));
valueArray(query, "column");
我首先转储导入[“col_1”],只得到第一个元素。
然后我转储列表到数组(ArrayToList(imports[“col_1”])如上图所示,它为我提供了整个列。
为什么我首先不能正确访问列?真正的问题是:
我最初尝试将jsonHeaders列表作为数组访问,而没有对其执行ListToArray()
。之后,我的功能正常运行。
但是。下一部分很有帮助。
尝试访问查询对象时,执行queryObject[“columnName”]
被认为是queryObject[“columnName”][1]
的快捷方式,因此coldfusion将只提供第一个元素
但是当我说ListToArray(ArrayToList())
coldfusion看到ArrayToList
必须接受一个数组,因此会产生一个异常,并将列作为数组返回
要将列作为数组返回以使用,可以做以下几件事
我搞不懂你的问题是什么。对不起,各位。只是补充了一个问题。转换后它为什么工作?最后一个屏幕截图是什么对象的转储:columnHeaders,imports,…@Leigh dump,imports
WriteMap中第一列的转储(ListToArray(ArrayList(imports[columnHeaders[i]],“|”),“|”,true))代码>哦,等等。。。如果imports
是一个查询对象,它将解释为什么imports[“col_1”]
不起作用。传统上,在CF中,#queryName.columnName#
或queryName[“columnName”]
被视为查询第一行中#queryName.columnName[1]#
ie值的快捷方式,这显然是一个简单的值<代码>阵列列表
是此约定的例外。我认为它的行为有所不同,因为该函数需要一个数组,而不是一个简单的值。
writeDump(ListToArray(ArrayToList(imports[columnHeaders[1]],'|'),'|',true));
ListToArray(ArrayToList(query["column"]));
ListToArray(valueList(query.column));
valueArray(query, "column");