Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

選択条件の追加

ここでは、ダイナミック・クエリについて学習します。ダイナミック・クエリとは、ユーザが選択した条件に合わせてクエリを抽出することです。例えば、CategoryList で選択された値を %request オブジェクトとして有効にするには、以下の構文を使用します。

%request.Data("CategoryList",1)

この値がアスタリスクではない場合、この値はユーザが検索する映画のカテゴリを示しているので、検索条件として追加する必要があります。

AND Category = xxx

上記のテキストを、SQL クエリに追加します。

—SearchResults.csp—
SearchResults.csp
<script language="sql" name=FilmList>
    SELECT ID, Description, Length, Rating, Title, Category->CategoryName
    FROM Cinema.Film
    WHERE PlayingNow = 1
    #($SELECT(%request.Data("CategoryList",1) '= "*":
    " AND Category = " _ %request.Data("CategoryList",1),    1:""))#
    ORDER BY Title
</script>

Caché$SELECT 関数は、以下の構文を使用します。

$SELECT(logical expression:value, ...)

これにより、各論理式をテストし、True の場合はコロンの後に適切な値を返します。常に関数が値を返すように、大半のプログラマは論理式が True の “1” になる最終入力項目を設定します。文字長がゼロの場合は既定値を割り当てます。

FeedbackOpens in a new tab