我该如何阻止Coldfusion将查询列名转换为大写?

8
使用ColdFusion 8中的cfquery标签从MySQL表中选择数据时,即使我在数据库表中以camelCase形式存储了它们,所有列名也会转换为大写。有没有办法让ColdFusion尊重列名的大小写?
我问这个问题的原因是我将查询结果作为JSON对象返回,并且我不想在JavaScript端使用大写属性名称,因为我将该命名约定保留给常量。
2个回答

9
queryName.getMetaData().getColumnLabels()

返回一个查询列标签数组,带有查询原始大小写


我认为他们需要从数据库中获取案例。在这种情况下,他们需要使用cfdboinfo或mySQL的元数据表,如上所述。未记录的元数据方法返回在sql中使用的案例,这可能完全不同。一切都取决于它是如何输入的。 - Leigh

5
使用 query 对象上的 getMetaData 方法,它返回一个列的数组,该数组显示你在查询中使用的相同大小写。请保留 HTML 标记。

1
抱歉 - 你想要数据库中的大小写,而不是大写,也不是 SQL 显示的内容。最好的方法是使用 cfdbinfo。那应该可以解决问题。你需要使用它并将其与查询结果一起返回。 - Raymond Camden
请澄清一下,这是否意味着我基本上需要发送两个JSON对象,一个包含结果集,另一个包含列名?然后仍然需要执行一些匹配算法将数据与正确的属性匹配?或者也许有一种方法可以将从cfdbinfo获取的列名与查询结果对象合并? - Jens Wegar
1
我可能会手动构建JSON,使用CFDBINFO查找中的列名和查询结果中的值。 - Adam Cameron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接