0

Ext JSアプリケーション(クライアント側)とPlay Framework(サービス側)をテストしています。ExtJSでページ付けのあるグリッドを使用しています。

ページネーション部分では、URLクエリパラメータをPlayに送信する必要があります。サーバ。これは大したことではありませんが、SQLステートメントでこれらのパラメータを処理する方法は??

例:

最初のリクエスト:

http://myDomain:9000/GetUsers?_dc=123456789&page=1&start=0&limit=25

2番目の要件:

http://myDomain:9000/GetUsers?_dc=123456789&page=2&start=25&limit=25

私の考え:通常、SQLではTOPの結果 を設定できます。

SELECT TOP 25 FROM USERS

しかし、2番目のリクエストをSQLクエリに変換する方法は?

お手数をおかけしますが、よろしくお願いいたします。

====== >> 編集:SQL Server 2008で開発していますが、SQLServer2005以降およびOracle9以降で動作させたいです:-)

4

2 に答える 2

0

次のようなことを試すことができます:

WITH Query_1 AS (
    SELECT
        Field1, Field2, etc
        ROW_NUMBER() OVER (ORDER BY Field1, Field2, etc) AS RowID
    FROM Table
    WHERE x=y
)
SELECT * FROM Query_1 WHERE RowID >= @start
AND RowID < @start + @limit

もちろん、ROW_NUMBERはSQL 2000には存在しませんでしたが、使用しているSQLがわからないため、新しいものを想定しています。

于 2011-08-31T21:47:09.980 に答える
0

Playを使用しているので!フレームワークでは、SQLテーブルを表すエンティティを使用して適切なモデルを作成する必要があります。次に、さまざまな結果の受信が組み込まれています。

// 25 max users start at 25
List<User> users = User.all().from(25).fetch(25);

また、ページネーションモジュールも確認する必要があります。私はそれをテストしていませんが、それはまさにあなたが望むもののように見えます。

于 2011-09-03T06:17:53.513 に答える