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?

CSP:While を使用したループ

このコードには現在 2 つの問題があります。1 つ目の問題は、結果セット・カーソルは最初に先頭行の前を指します。これは、Get メソッドがクエリ・データを返さないことを意味します。カーソルを先頭行に移動するには、 %ResultSetOpens in a new tab メソッド Next を一度呼び出します。このとき、2 つ目の問題が生じます。先頭行だけではなく、結果セットのすべての行データを表示する必要がありますが、 そのためには、各行に連続してカーソルを移動するループを作成する必要があります。

<csp:while> タグを使用して両方の問題を解決します。このタグは、指定された条件が False になるまで実行されるループを作成します。この場合、その条件はNext を呼び出します。Next は結果セット・カーソルを移動し、次の行のデータがある場合は True を返し、次の行のデータがない場合は False を返します。

—TopPicks.csp—
TopPicks.csp
<html> <body>
<h2><font color="#0000FF">Today's Top Picks</font></h2>
<table border=0>
<csp:query name="FilmList" classname="Cinema.Film" queryname="TopFilms">
<csp:while condition="FilmList.Next()">
<tr>
<td>
    <b>#(FilmList.Get("Title"))#</b><br>
    #(FilmList.Get("Description"))#<br>
    <b>Genre</b>
    #(FilmList.Get("CategoryName"))#
    <b>Length</b>
    #(FilmList.Get("Length"))#
    <b>Rating</b>
    #(FilmList.Get("Rating"))#<br> <br>
</td>
<td> </td>
</tr>
</csp:while>
</table>
</body> </html>
FeedbackOpens in a new tab