- ベストアンサー
結果の表示を制限するには・・
いつもお世話になります。 抽象的な文章になりますがどうかお願いします。 ある処理をした結果が数千件あり、そのなかの10件、または100件を表示するにはどのようなプログラムを書けばよろしいのでしょうか。また、残りの結果も「続きを見ますか?」などの質問についで見れるようにしたいのです。 いつも抽象的な質問ばかりですいませんがなにとぞよろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>いつも不愉快な… いや、別に不愉快にはなってないですよ。(^^;A もし誤解させるような記述をしていたのならことらこそ申し訳ありません。 で、本題ですが、 全件を表示するのにはどうしていますか? 例えば for(int i = 0;i < data.length();i++){ //表示処理 System.out.println("1件ごとのデータ"+data[i]); } とか for(int i = 0;i < data.size();i++) //表示処理 System.out.println("1件ごとのデータ"+data[i]); } とか while(count < data.length()){ //表示処理 System.out.println("1件ごとのデータ"+data[i]); count++; } とかやっていますよね??? 最初の10件は i < data.length() ↓ i < 10 とかして、10件表示させて、 続きは for(int i = 10;i < data.length();i++){ //1件ごとの表示 System.out.println("1件ごとのデータ"+data[i]); } とすればいいのでは??? とりあえずキーワードとしては ・繰り返し処理 ・繰り返しの条件 などについて理解を深めるといいと思います。
その他の回答 (2)
- TAKATON
- ベストアンサー率62% (17/27)
>ある処理をした結果が数千件あり DBからの抽出した結果のデータが数千件あるのであれば、これをメモリ上に記憶させておくのは得策でないと思います。 この場合、カーソルを使用するのが安全な方法と言えるのではないでしょうか? カーソルはほとんどのDBMSに実装されている機能です。 ただし、この機能は使用されているDBMS毎に若干仕様が異なる可能性があるので、詳しくはご使用されているDBMSのマニュアル等を参照してください。
お礼
TAKATON様、遅れましたがアドバイスありがとうございました。カーソルの使用について現在勉強中です。参考にさせていただきます。
- pcbeginner
- ベストアンサー率46% (261/560)
WEBアプリということでいいですよね? 以下WEBアプリとして… 自作で要件を満たすとしたら、 数千件のデータをセッションなどに格納して、 そのセッションからJSPで最初の10件など表示して、「次の10件」などが押されたら、セッションから次の10件を取り出して表示する… とするしかないでしょうね。 こんな↓記述もあるので読んでみたら幸せになれるかも。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20682&forum=12&4
お礼
pcbeginner様、いつもありがとうございます。 私の場合Webアプリにすらいっておりません(涙) DBからデータの抽出後、データをSystem.out.println()で出力する際に制限する術を探しています。 説明不足ですいませんでした。Webアプリは今後勉強します。そのときは非常に参考になると思います。 いつも不愉快な思いをさせてしまいすいません・・
お礼
pcbeginner様、いつもありがとうございます。早速参考にしてプログラミングを組みます。お忙しいところありがとうございました。今後もよろしくお願いいたします。 入門者なので今しばらくくだらない質問になりますがよろしくお願いいたします。