2009-05-20 19:55:06

【cfquery】データベースなどのクエリを実行

テーマ:ColdFusionのタグ
 データベースの処理を行う場合、cfqueryタグを使います。
例えば以下のような例です。

01: <cfparam name="url.mail" default="">
02: <cfquery name="qry_tmp" dataSource ="dbKaisya">
03: select ID,name,address,yubin,mail
04: from M_SYAIN
05: where 0=0
06:     <cfif url.mail neq "">
07:         and mail = '#url.mail#'
08:     </cfif>
09: </cfquery>

urlスコープのmail変数に値があった場合、その値でM_SYAINテーブルを検索する、という処理です。
クエリの処理がすぐにわかります。

他の言語の場合は、以下のようにやっているようです。

01: <cfset QryStr = "">
02: <cfset QryStr = QryStr & "select ID,name,address,yubin,mail">
03: <cfset QryStr = QryStr & "from M_SYAIN">
04: <cfset QryStr = QryStr & "where 0=0">
05: <cfif url.mail neq "">
06:     <cfset QryStr = QryStr & "and mail = '" & url.mail & "'">
07: </cfif>
08: <cfset qryExec(QryStr)>
※qryExecはユーザ関数

ColdFusionでも、わざわざ上記のようにやっているのを見かけました。
クエリの修正をする場合や視認性においても、だんぜんcfqueryタグで囲んだ書き方がわかりやすいです。

それから、クエリの結果を絞り込むこともできます。

01: <cfquery name="qryOfQry" dbtype="query">
02: select *
03: from qry_tmp
04: where 0=0
05:     <cfif url.mail neq "">
06:         and mail = '#url.mail#'
07:     </cfif>
08: </cfquery>

以外と便利です。


cfqueryのドキュメントはこちらです(cf7)。
AD
いいね!した人  |  コメント(0)  |  リブログ(0)

うたらぼさんの読者になろう

ブログの更新情報が受け取れて、アクセスが簡単になります

コメント

[コメントをする]

コメント投稿

AD

Ameba人気のブログ

Amebaトピックス

      ランキング

      • 総合
      • 新登場
      • 急上昇
      • トレンド

      ブログをはじめる

      たくさんの芸能人・有名人が
      書いているAmebaブログを
      無料で簡単にはじめることができます。

      公式トップブロガーへ応募

      多くの方にご紹介したいブログを
      執筆する方を「公式トップブロガー」
      として認定しております。

      芸能人・有名人ブログを開設

      Amebaブログでは、芸能人・有名人ブログを
      ご希望される著名人の方/事務所様を
      随時募集しております。