|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net性能上肯定会站上风的。分页|数据|数据库|显现 在用JDBC会见某个数据库,并读出一个ResultSet数据纪录集时,假如纪录数太年夜,则会占用客户端(运转java程序的呆板)的大批内存(假如客户端是某个年夜企业的业务部门的代办署理点分机,则有大概java程序会占用完整部内存,然后报错),而且会形成客户端负载太重,运转速率极端迟缓(在sybase数据库中,我曾做过一个测试。选择某个年夜数据纪录,SQL语句运转完必要4分钟,而在java客户端完整显现出来,则必要快要10分钟)。 办理计划:
给用户供应一个可选择分页显现的选项,假如用户不想分页显现则完整显现,不然分页显现。
1.界说一个分页数全局常量,即每页显现的数据条数。
privatefinalstaticintSKIP=100;
2.界说一个断定某个分页条数的全局变量,即该显现页确当前显现数据条数。
privatestaticintcur=0;
3.界说一个ResultSet全局变量,以便屡次利用
privatestaticjava.sql.Resultrs=null;
4.翻开一个数据库毗连[/pre]
Class.forName(sqlDriver); java.sql.Connectionconn=DriverManager.getConnection(URL,(String)userName,(String)Passwd) Statementstmt=conn.createStatement(); StringsearchSql="......"; rs=stmt.executeQuery(searchSql);
5.猎取查询了局集数据(通常为在查询按钮的呼应事务函数里)
...... nextButton.setEnable(true); cur=0; while(cur<SKIP&&rs.next()){ cur++; .....(猎取rs中的纪录,存进java程序的变量中) }
6.显现下一页的了局集数据(通常为鄙人页按钮的呼应事务函数里)
if(rs.getRow()==0) { nextButton.setEnable(false); closeConnection();--rs的cursor已到了最初,了局集显现终了,封闭此次的毗连 } cur=0; if(rs!=null&&rs.getRow()>0) { ....将上页显现的内容扫除 while(cur<SKIP&&rs.next()) { cur++; .....(猎取了局会合的纪录,存进java程序的变量中) } }
缺点: 此办法依据2.0版本的JDBC(详细和JDBC驱动程序的供应商有关)之前的ResultSet类发生,由于ResultSet没法将已显现的了局集回滚,以是此法只能依照ResultSet类的界说,从左往右、夙昔今后的扫瞄数据了局。没法静态显现指定恣意前后的了局集数据。
J2ME在手机游戏开发的作用也是无用质疑的。至于桌面程序,可能有人说java不行,界面不好看,但是请看看NetBeans和Eclipse吧,他们都是利用java开发的,而他们的界面是多么的华丽,所以界面决不是java的缺点。还有一个不得不提的优点就是大多java人员都挂在嘴边的java的跨平台性,目前这确实也是java优点之一。 |
|