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>