• ベストアンサー

データを取得後、分割表示

Javaでアプリを作っています。 jTableにデータベースのデータをバインドさせて表示させているのですが、データベースに例えば50000件データが入っていた場合、50000件全てが表示されてしまいますよね? これを何十件かごとに分けて表示させたいのですが、どのようにすれば良いのでしょうか? お分かりになる方はお知恵をお貸し下さい。 netbeans6.5.1で開発しています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

どんなエラーでしょう? JPQLって使ったことないからよくしらんのですが、order句がwhere句より前にあるっておかしくないですか?(普通のSQLならもちろんエラー) このへんは他の識者にお任せします。

yuta9314
質問者

お礼

回答ありがとうございます。 >order句がwhere句より前にあるっておかしくないですか? ほんとうだ・・・・ すごいミスをしてました、、、

yuta9314
質問者

補足

以下エラーです -------- nit: deps-jar: Compiling 1 source file to C:\cutsystem\cutsystem\build\classes compile-single: run-single: [TopLink Info]: 2009.05.26 02:52:51.140--ServerSession(2704014)--TopLink, version: Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007)) Exception in thread "main" java.lang.IllegalArgumentException: An exception occured while creating a query in EntityManager [TopLink Info]: 2009.05.26 02:52:52.140--ServerSession(2704014)--file:/C:/cutsystem/cutsystem/build/classes/-cutsystem_2PU login successful at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl.createQuery(EntityManagerImpl.java:209) at cutsystemsmple.ListToday.initComponents(ListToday.java:66) at cutsystemsmple.ListToday.<init>(ListToday.java:30) at cutsystemsmple.ListToday.main(ListToday.java:373) Caused by: Exception [TOPLINK-8025] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.EJBQLException Exception Description: Syntax error parsing the query [SELECT t FROM TList t WHERE ROWNUM <=15 ORDER BY date1,yoyakuTime,cuttingMaster,memberId,memberName,contents,endOfWork], line 1, column 56: unexpected token [,]. Internal Exception: line 1:56: unexpected token: , at oracle.toplink.essentials.exceptions.EJBQLException.unexpectedToken(EJBQLException.java:389) at oracle.toplink.essentials.internal.parsing.ejbql.EJBQLParser.handleANTLRException(EJBQLParser.java:350) at oracle.toplink.essentials.internal.parsing.ejbql.EJBQLParser.addError(EJBQLParser.java:278) at oracle.toplink.essentials.internal.parsing.ejbql.EJBQLParser.reportError(EJBQLParser.java:378) at oracle.toplink.essentials.internal.parsing.ejbql.antlr273.EJBQLParser.pathExpression(EJBQLParser.java:1000) at oracle.toplink.essentials.internal.parsing.ejbql.antlr273.EJBQLParser.stateFieldPathExpression(EJBQLParser.java:1512) at oracle.toplink.essentials.internal.parsing.ejbql.antlr273.EJBQLParser.orderByItem(EJBQLParser.java:4620) at oracle.toplink.essentials.internal.parsing.ejbql.antlr273.EJBQLParser.orderByClause(EJBQLParser.java:618) at oracle.toplink.essentials.internal.parsing.ejbql.antlr273.EJBQLParser.selectStatement(EJBQLParser.java:241) at oracle.toplink.essentials.internal.parsing.ejbql.antlr273.EJBQLParser.document(EJBQLParser.java:135) at oracle.toplink.essentials.internal.parsing.ejbql.EJBQLParser.parse(EJBQLParser.java:166) at oracle.toplink.essentials.internal.parsing.ejbql.EJBQLParser.buildParseTree(EJBQLParser.java:127) at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:215) at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:189) at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:153) at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.<init>(EJBQueryImpl.java:114) at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.<init>(EJBQueryImpl.java:99) at oracle.toplink.essentials.internal.ejb.cmp3.EJBQueryImpl.<init>(EJBQueryImpl.java:86) at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl.createQuery(EntityManagerImpl.java:204) ... 3 more Caused by: line 1:56: unexpected token: , at oracle.toplink.essentials.internal.parsing.ejbql.antlr273.EJBQLParser.pathExpression(EJBQLParser.java:991) ... 17 more Java Result: 1 構築成功 (合計時間: 4 秒) ---------

その他の回答 (1)

回答No.1

DBがOracleとかならrow_number()とって n and m するとか。 http://www.shift-the-oracle.com/sql/select-top.html

yuta9314
質問者

お礼

回答ありがとうございます。 DBはMYSQLです。 バインドしたときに生成されるqueryの記述方法がJPQLで今は下記の 様に記述してるのですがエラーがでます。 ------- SELECT t FROM TList t ORDER BY date1,yoyakuTime,ahahaMaster,memberId,memberName,contents,endOfWork WHERE ROWNUM <=15; ------- どこがおかしいのか分かりましたらご指摘お願いします。

関連するQ&A