没玩过sybase,但是因为都是数据库,如果都支持SQL标准的话,下面这两个SQL语句应该可以帮你。
1、SELECT DISTINCT sFields FROM table WHERE (whichField NOT IN (SELECT TOP page*pagesize [whichField] FROM [table])) AND (whichField IN (SELECT TOP (page+1)*pagesize [whichField] FROM [table]))(SQL server可以用)
2、SELECT sFields FROM table WHERE XXXX limit page*pagesize,(page+1)*pagesize(mysql 测试通过)。
1、SELECT DISTINCT sFields FROM table WHERE (whichField NOT IN (SELECT TOP page*pagesize [whichField] FROM [table])) AND (whichField IN (SELECT TOP (page+1)*pagesize [whichField] FROM [table]))(SQL server可以用)
2、SELECT sFields FROM table WHERE XXXX limit page*pagesize,(page+1)*pagesize(mysql 测试通过)。
然后,再使用select (*) from #temp where id between(1,20)来获得到。
//===上面是在你已经写好连接池的情况下不愿意改代码的一种比较折中的方法(中数据量时运行可以大约10万数据级别,,100万以上就比较慢了。)//你可以在建立的连接的时候,可以通过动态设置setFetchSize()来确定返回的对象。
这个适用于大数据量就是反复的数据库连接开闭比较频繁。
java.sql.Connection sqlCon;
java.sql.Statement sqlStmt;
java.sql.ResultSet sqlRst;
java.lang.String strCon;
java.lang.String strSQL;
int intPageSize;
int intRowCount;
int intPageCount;
int intPage;
java.lang.String strPage;
int i;
String news_id;intPageSize = 5;
strPage = request.getParameter("page");
if(strPage==null){
intPage = 1;
}
else{
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
strCon = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
sqlCon = java.sql.DriverManager.getConnection(strCon,"sa","");
sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
strSQL = "select * from news where sort='"+request.getParameter("sort")+"' and language='"+request.getParameter("language")+"' order by issue_time desc";
sqlRst = sqlStmt.executeQuery(strSQL);
sqlRst.last();
intRowCount = sqlRst.getRow();
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
if(intPage>intPageCount) intPage = intPageCount;
%><%
if(intPageCount>0){
sqlRst.absolute((intPage-1) * intPageSize + 1);
i = 0;
while(i<intPageSize && !sqlRst.isAfterLast()){
news_id=sqlRst.getString("news_id"); out.println("<a href=list_detail.jsp?news_id="+sqlRst.getInt("news_id")+"&language="+request.getParameter("language")+"&sort=" + request.getParameter("sort") +" target=_blank><font color=black>"+ sqlRst.getString("title")+"</font></a><br>"+"<br>" );sqlRst.next();
i++;
}
}
%>
</body>
</html>
<%
sqlRst.close();
sqlStmt.close();
sqlCon.close();
%> <p align="right"><font size="2"> 共<%=intPageCount%>页 共<%=intRowCount%>篇 第<%=intPage%>页
<a href=list_more.jsp?page=1&sort=<%=request.getParameter("sort")%>&language=<%=request.getParameter("language")%>><font size="2" color="#000000">首页</font></a>
<%if(intPage>1){%><a href="list_more.jsp?page=<%=intPage-1%>&sort=<%=request.getParameter("sort")%>&language=<%=request.getParameter("language")%>"><font size="2" color="#000000">上一页</font></a><%}%>
<%if(intPage<intPageCount){%><a href="list_more.jsp?page=<%=intPage+1%>&sort=<%=request.getParameter("sort")%>&language=<%=request.getParameter("language")%>"><font size="2" color="#000000">下一页</font></a><%}%>
<%if(intPage>1){%><%}%><a href="list_more.jsp?page=<%=intPageCount%>&sort=<%=request.getParameter("sort")%>&language=<%=request.getParameter("language")%>"><font size="2" color="#000000">尾页</font></a></font>
</p>
你看着改吧