【cfquery】データベースなどのクエリを実行
データベースの処理を行う場合、cfqueryタグを使います。
例えば以下のような例です。
urlスコープのmail変数に値があった場合、その値でM_SYAINテーブルを検索する、という処理です。
クエリの処理がすぐにわかります。
他の言語の場合は、以下のようにやっているようです。
ColdFusionでも、わざわざ上記のようにやっているのを見かけました。
クエリの修正をする場合や視認性においても、だんぜんcfqueryタグで囲んだ書き方がわかりやすいです。
それから、クエリの結果を絞り込むこともできます。
以外と便利です。
cfqueryのドキュメントはこちらです(cf7)。
例えば以下のような例です。
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 = "">※qryExecはユーザ関数
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)>
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)。