社区
Web 开发
帖子详情
在线等待,那位大哥可以解决分页问题,欢迎“心宇”老大来看看
smartzhang
2002-12-10 09:42:20
在分页时发生如下错误:javax.servlet.ServletException: Result set type is TYPE_FORWARD_ONLY,这是怎么回事???小弟特附上源码,请各位大哥帮忙看看,找找问题。3x!!!
...全文
33
13
打赏
收藏
在线等待,那位大哥可以解决分页问题,欢迎“心宇”老大来看看
在分页时发生如下错误:javax.servlet.ServletException: Result set type is TYPE_FORWARD_ONLY,这是怎么回事???小弟特附上源码,请各位大哥帮忙看看,找找问题。3x!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wangshangajie
2002-12-25
打赏
举报
回复
晓刚的这个在我这怎么着都不好使,让我调了一上午都不成。害死我了,
smartzhang
2002-12-10
打赏
举报
回复
谢谢xcgh(晓刚) ,我已经用别的分页程序作出来了,可是我还是想要解决我上面遇到的问题,我想这样才可以有所提高啊。
xcgh
2002-12-10
打赏
举报
回复
以上是分页程序。含有BEAN的。你看看。这是MYSQL数据库的。已测试好使。
smartzhang
2002-12-10
打赏
举报
回复
楼上的大哥啊,你的代码也太长了啊,我想要的是解决我的问题,不是要分页的代码啊,我已经找到很多代码了,可是就这个问题在困扰着我,希望就这个问题各位老大给点建议啊
xcgh
2002-12-10
打赏
举报
回复
package netzero;
import java.sql.*;
public class mydb
{
String driverName = "com.caucho.jdbc.mysql.Driver";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String connURL="jdbc:mysql_caucho://localhost:3306/mydata";
String MyUser="root";
String MyPassword="";
public mydb()
{
try
{
Class.forName(driverName);
}
catch (java.lang.ClassNotFoundException e)
{
System.err.println("netzero(String): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql) throws SQLException
{
conn = DriverManager.getConnection(connURL,MyUser,MyPassword);
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
return rs;
}
public boolean closeConn()
{
try
{
if (rs!=null) rs.close();
if (stmt!=null) stmt.close();
if (conn!=null) conn.close();
return true;
}
catch ( SQLException ex )
{
System.err.println("closeConn: " + ex.getMessage());
return false;
}
}
}
xcgh
2002-12-10
打赏
举报
回复
<jsp:useBean id="mydata" scope="page" class="netzero.mydb"/>
<jsp:useBean id="mypage" scope="page" class="vod.PageCt"/>
<%@ page contentType="text/html;charset=ISO8859_1"%>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<%
try
{
String sqlcou="select count(*) from mytable";
ResultSet rs0=mydata.executeQuery(sqlcou);
rs0.next();
long data_num=rs0.getLong(1);
long Current_Page = 0;
String currentpage=(String)request.getParameter("currentpage");
if (currentpage != null && !currentpage.equals(""))
{
Current_Page = Integer.parseInt(request.getParameter("currentpage"));
}
String Query_Page=(String)request.getParameter("Query_Page");
if (Query_Page!=null && !Query_Page.equals(""))
{
Current_Page = Integer.parseInt(request.getParameter("Query_Page"))-1;
}
mypage.Init(Current_Page,data_num);
long l_start = mypage.getStart();
long l_end = mypage.getEnd();
String sql="select * from mytable";
ResultSet rs = mydata.executeQuery(sql);
out.println("<table>");
long i=0;
while((i<l_start) && rs.next())
{
i++;
}
//输出查询结果
long j=0;
while(rs.next() && (i<l_end))
{
j=i+1;
out.println("<tr align=center>");
out.println("<td bgcolor=#ced4ec>"+rs.getString("Msg_ID")+"</td>");
out.println("<td bgcolor=#ced4ec>"+rs.getString("Msg_Title")+"</td>");
out.println("<td bgcolor=#ced4ec>"+rs.getString("Msg_Author")+"</td>");
out.println("<td bgcolor=#ced4ec>"+rs.getString("Msg_Context")+"</td>");
out.println("<td bgcolor=#ced4ec>"+rs.getString("Msg_Time")+"</td>");
out.println("</tr>");
i++;
}
out.println("</table>");
%>
<table width=600>
<tr bgcolor=#b5dbff>
<form method=GET action=mysee.jsp>
<td width=80 align=center valign=bottom>共 <%=mypage.getTotalnum()%> 条</td>
<td width=80 align=center valign=bottom><%=mypage.getCurpage()+1%>/<%=mypage.getTotalpage()%> 页</td>
<td width=120 align=center>查看第 <input type=text name=Query_Page size=3> 页</td>
<td width=50 align=center valign=bottom><a href=mysee.jsp?currentpage=<%=mypage.getPrepage()%>>上页</a></td>
<td width=50 align=center valign=bottom><a href=mysee.jsp?currentpage=<%=mypage.getNextpage()%>>下页</a>
</td>
</tr>
</table>
<%
}
catch (SQLException E)
{
out.println("SQLException: " + E.getMessage());
out.println("SQLState: " + E.getSQLState());
out.println("VendorError: " + E.getErrorCode());
}
%>
<% //关闭mysql连接
try
{
if(!mydata.closeConn());
}
catch (Exception ex)
{
System.err.println("closeConn: " + ex.getMessage());
}
%>
xcgh
2002-12-10
打赏
举报
回复
package vod;
import java.sql.*;
import java.util.*;
public class PageCt
{
private long l_start; //开始纪录
private long l_end; //结束纪录
private long l_curpage; //当前页数
private long l_totalnum;//总记录数
private int int_num=5; //每页几条
private long l_totalpage; //总的页数
public void Init(long currentpage,long totalnum)
{
l_curpage = currentpage;
l_totalnum = totalnum;
if (currentpage>=0)
{
if (currentpage>=(long)Math.ceil((double)l_totalnum/(double)int_num))
l_curpage = (long)Math.floor((double)l_totalnum/(double)int_num);
else
l_curpage = currentpage;
}
else
{
l_curpage = 0;
}
l_start = l_curpage * int_num;
l_end = l_start + int_num;
if (l_end > l_totalnum)
l_end = l_totalnum;
l_totalpage = (long)Math.ceil((double)l_totalnum/(double)int_num);
}
public long getCurpage()
{
return l_curpage;
}
public long getPrepage()
{
if (l_curpage-1>=0)
{
return l_curpage-1;
}
else
{
return 0;
}
}
public long getNextpage()
{
if (l_curpage+1<=l_totalpage)
{
return l_curpage+1;
}
else
{
return l_totalpage;
}
}
public long getTotalnum()
{
return l_totalnum;
}
public long getTotalpage()
{
return l_totalpage;
}
public long getStart()
{
return l_start;
}
public long getEnd()
{
return l_end;
}
}
smartzhang
2002-12-10
打赏
举报
回复
小弟初学jsp,不太清楚楼上gg提的jdbc2.0,怎么用啊,也就是说,怎么改我的程序
zxhong
2002-12-10
打赏
举报
回复
用jdbc2.0
smartzhang
2002-12-10
打赏
举报
回复
是的,我是用的桥联接,要实现同样的功能,应该怎么改代码啊!
希偌
2002-12-10
打赏
举报
回复
估计你是使用jdbc:odbc驱动桥来连接数据库的,这种连接不支持.last,.first.previous等方法,仅仅支持.next()而已
或者
在建立Statement对象实例的时候参数不正确,如下
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
smartzhang
2002-12-10
打赏
举报
回复
<html>
<head>
<title>
留言内容
</title>
</head>
<body>
<table width="100%" height="39" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="39" bgcolor="#006699"><div align="center" class="title">客户留言簿</div></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="33%" height="20" class="title">□<a href="guesthome.jsp"><font size="1">开始留言</font></a>
□<a href="manager.jsp"><font size="1">留言管理</font></a></td>
<td width="67%" class="title"><div align="center">pages:</div></td>
</tr>
</table>
<%@page contentType="text/html;charset=gb2312" language="java" import="java.sql.*"%>
<%@page session="true"%>
<jsp:useBean id="lyan" scope="page" class="sql_data.sql_data"/>
<%
//禁止Cache.
response.setHeader("Pragma","No-Cache");
response.setHeader("Cache-Control","No-Cache");
response.setDateHeader("Expires", 0);
%>
<%
int pageSize=4;
int rowCount=0; //总的记录数
String sqlcount="select count(*) as id from liuyan";
ResultSet rscount=lyan.executeQuery(sqlcount);
while (rscount.next()){
rowCount=rscount.getInt("id");
}
rscount.close();
int pageCount; //总的页数
int currPage; //当前页数
String strPage;
strPage=request.getParameter("page");
if (strPage==null){
currPage=1;
}
else{
currPage=Integer.parseInt(strPage);
if (currPage<1) currPage=1;
}
pageCount=(rowCount+pageSize-1)/pageSize;
if (currPage>pageCount)
currPage=pageCount;
int thepage=(currPage-1)*pageSize;
int n=0;
String str="SELECT * FROM liuyan order by date desc";
ResultSet rs=lyan.executeQuery(str);
rs.absolute(thepage+1);
while(n<(pageSize)&&!rs.isAfterLast())
{
String userid=rs.getString("userid");
String email=rs.getString("email");
String address=rs.getString("address");
String date=rs.getString("date");
String sex=rs.getString("sex");
out.print("<table width=\"100%\" height=\"46\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\" bgcolor=\"#000033\">");
out.print("<tr>");
out.print("<td width=\"12%\" rowspan=\"2\" align=\"center\" bgcolor=\"#CCCCCC\">");
if(sex.equals("男")){%>
<span class="title2"><img src="D:\Apache Tomcat\webapps\ROOT\web\liuyan\image\IMAGE6.GIF" width="32" height="32"><br>
<% }
else
{%>
<span class="title2"><img src="D:\Apache Tomcat\webapps\ROOT\web\liuyan\image\IMAGE5.GIF" width="32" height="32"><br>
<%}
out.print("</span>");
out.print("<br>");
out.print("<b>");
out.print(rs.getString("realname"));
out.print("</b>");
out.print("<span class=\"title2\"> </span></td>");
%>
<td height="10" bgcolor="#e7e7e7">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="15%">
帐号:
<%=userid%>
</a>
</td>
<td width="22%">
Email:<a href="mailto:<%=email%>" target="_blank">
<%=email%>
</a>
</td>
<td width=25%>
地址:
<%=address%>
</a>
</td>
<td width="32%">
留言时间:
<%=date%>
</td>
</tr>
</table></td>
<%
out.print("</tr>");
out.print("<tr>");
out.print("<td height=\"20\" colspan=\"4\" style=\"word-break:break-all\" bgcolor=\"#CCCCCC\">");
out.print(rs.getString("words"));
out.print("</td>");
out.print("</tr>");
out.print("</table>");
rs.next();
n++;
}
rs.close();
%>
第<%=currPage%>页 共<%=pageCount%>页 共<%=rowCount%>条
<%if(currPage>1){%>
<a href="lyan.jsp?<%=currPage%>">首页</a>
<%}%>
<%if(currPage>1){%>
<a href="lyan.jsp?page=<%=currPage-1%>">上一页</a>
<%}%>
<%if(currPage<pageCount){%>
<a href="lyan.jsp?page=<%=currPage+1%>">下一页</a>
<%}%>
<%if(pageCount>1){%>
<a href="lyan.jsp?page=<%=pageCount%>">尾页</a>
<%}%>
<form name="page" method="post" action="lyan.jsp" >
跳到<input type="text" name="page" size="4" style="font-size:9px">页
<input type="submit" name="submit" size="4" value="GO" style="font-size:9px">
</form>
</body>
</html>
smartzhang
2002-12-10
打赏
举报
回复
没有人回答了吗?虽然我已经分页了,但我还是想知道上面的问题答案啊
解决
浏览器请求响应中文文件名乱码
问题
的小工具包,
解决
中文文件名
问题
解决
浏览器请求响应中文文件名乱码
问题
的小工具包,
解决
中文文件名
问题
物流中心自动化立体仓库管理系统的设计与实现_徐
心宇
物流物流中心自动化立体仓库管理系统的设计与实现
界面设计编辑器源码
目标:
解决
各种自绘模块,对界面布局的烦恼 ------黑月界面模块,Ex_DirectUI等------ 完成度: 整体编辑器的布局 组件的拖放与移动 组件的对齐与多选 Ex_DirectUI代码的简单生成 黑月界面模块代码的简单生成 未完成: ...
高效的 RapidJSON 解析/生成器支持库,提供 SAX 及 DOM 操作
高效的 C++ JSON 解析/生成器,提供 SAX 及 DOM...本支持库为封装TX开源项目 RapidJSON ,为
解决
易语言没有高性能JSON库的
问题
。 项目官网:http://rapidjson.org/zh-cn/ github:https://github.com/Tencent/rapidjson/
#RAPIDJSON_LIB1.1#20200314版(rapidjson.fne)-易语言
使用有声明
问题
请加QQ群:
心宇
->EVAxx研究中心(255829517) 现在支持库完善了大概80%左右,已经可以正常使用,剩下20%是关于 reader 和编码以及一些参数有关,暂时对易不是很重要,后面也会完善。 二、版权声明 ...
Web 开发
81,094
社区成员
341,717
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章