2011-09-29 6 views
7

ColdFusion 8でcfqueryタグを使用してMySQLテーブルからデータを選択すると、データベーステーブルのcamelCaseに格納されていても、列名はすべて大文字に変換されます。 ColdFusionで列名の大文字と小文字を区別させる方法はありますか?ColdFusionがクエリの列名を大文字に変換しないようにするにはどうすればよいですか?

私は質問結果をJSONオブジェクトとして返すので、定数の命名規則を予約しているので、JavaScript側で大文字のプロパティ名を使用したくないためです。

答えて

5

クエリオブジェクトに対してgetMetaDataを使用します。これは、クエリで使用したのと同じ大文字小文字を示す列の配列を返します。

+1

からオリジナルケース付きクエリ列ラベルの配列は、ああ、すみません - それはデータベース内にあるとして、あなたはケースをしたいです。上層部ではなく、SQLが示したものではありません。 cfdbinfoを使うのが一番良い方法です。それはうまくいくはずです。それを使用して、クエリ結果とともに返す必要があります。 –

+0

これを明確にするためには、基本的に2つのJSONオブジェクトを送信する必要があります.1つは結果セットを含み、もう1つは列名を含んでいますか?それから正しい特性にデータを一致させるためにいくつかのマッチングアルゴリズムを行いますか?あるいは、cfdbinfoからフェッチされた列名をクエリ結果オブジェクトとマージする方法がありますか? –

+1

CFDBINFOルックアップの列名とクエリの値を使用して、おそらくJSONを手作業でビルドします。 –

7
queryName.getMetaData().getColumnLabels() 

リターンクエリ

+0

私は彼らが*データベース*からのケースが必要だと思います。この場合、前述のようにcfdboinfoまたはmySQLのメタデータテーブルを使用する必要があります。文書化されていないメタデータ・メソッドは、SQLで使用されているケースを戻します。すべてはどのように入力されたかによって異なります。 – Leigh

関連する問題