2011-09-29 18 views
7

Cuando selecciono datos de una tabla MySQL utilizando la etiqueta cfquery en ColdFusion 8, todos los nombres de las columnas se convierten a mayúsculas aunque los haya almacenado en camelCase en la tabla de la base de datos. ¿Hay alguna manera de hacer que ColdFusion respete el caso de los nombres de las columnas?¿Cómo puedo evitar que Coldfusion convierta los nombres de las columnas de consulta en mayúsculas?

La razón por la que estoy preguntando es porque estoy devolviendo el resultado de la consulta como un objeto JSON y no quiero usar nombres de propiedades en mayúsculas en el lado de JavaScript ya que reservo esa convención de nomenclatura para las constantes.

Respuesta

5

Use getMetaData en el objeto de consulta. Devuelve una matriz de columnas que muestra el mismo caso que utilizó en la consulta.

+1

Oh lo siento - desea que el caso ya que está en la base de datos. No superior, y no lo que mostró el SQL. Lo mejor que puedes hacer es usar cfdbinfo. Eso debería funcionar. Debería usar eso y devolverlo junto con el resultado de su consulta. –

+0

Para aclarar, ¿significaría eso que tendría que enviar dos objetos JSON básicamente, uno que contenga el conjunto de resultados y otro que contenga los nombres de las columnas? Entonces, ¿aún hace algún algoritmo de coincidencia para unir los datos a las propiedades correctas? ¿O tal vez hay una forma de fusionar los nombres de columna obtenidos de cfdbinfo con el objeto de resultado de la consulta? –

+1

Probablemente construiría el JSON a mano, usando los nombres de columna de CFDBINFO-look-up y los valores de la consulta. –

7
queryName.getMetaData().getColumnLabels() 

devolver una matriz de etiqueta de columna consulta con caja de origen consulta

+0

Creo que necesitan el caso de la * base de datos *. En ese caso, necesitan utilizar las tablas de metadatos cfdboinfo o mySQL como se mencionó. El método de metadatos no documentados devuelve el caso utilizado en el SQL que puede ser totalmente diferente. Todo depende de cómo se tipea. – Leigh

Cuestiones relacionadas