我又遇上问题咯,求助,在线等待,4点以前

rain_ok 2002-05-25 08:51:10
<%@ include file="opendb.jsp"%>
<%@ page contentType="text/html;charset=gb2312"%>
<%
java.lang.String strSQL; //SQL语句
String str_bg="#dfdfdf";

//if(Topic_type==null)
//{
//out.println("参数错误!");
//}
//else{
%>
<html>
<head>
<title>finder topic</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<STYLE type=text/css>A:link {
FONT-SIZE: 12px; COLOR: #0000ff; TEXT-DECORATION: none
}
A:visited {
FONT-SIZE: 12px; COLOR: #0000ff; TEXT-DECORATION: none
}
A:hover {
FONT-SIZE: 12px; COLOR: #ff9900; TEXT-DECORATION: underline
}
BODY {
FONT-SIZE: 12px; COLOR: #000000
}
TD {
FONT-SIZE: 12px; COLOR: #000000
}

</STYLE>

<body>
<TABLE cellSpacing=0 cellPadding=5 width=587 border=0 align="center">
<tr>
<td width="251" height='25' align=left bgcolor='#ffffff'>
<b>    <font color='red'>主题 </font></b>
</td>
<td width="97" height='15' align=center bgcolor='#ffffff'>
<b><font color='red'>作者</font></b> </td>
<td width="76" height='15' align=center bgcolor='#ffffff'>
<b><font color='red'>回复</font></b> </td>
<td width="123" height='15' align=right bgcolor='#ffffff'><b><font color='red'>时间</font></b></tr>
<%int intPageSize; //一页显示的记录数

int intRowCount; //记录总数

int intPageCount; //总页数

int intPage; //待显示页码
java.lang.String strPage;

int i,j,k; //设置一页显示的记录数

intPageSize = 10; //取得待显示页码

strPage = request.getParameter("page");
if(strPage==null){

//表明在QueryString中没有page这一个参数,此时显示第一页数据

intPage = 1;

} else{
//将字符串转换成整型

intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1; }
strSQL = "select count(*) from forum_topic";
//获取记录总数
sqlRst = sqlStmt.executeQuery(strSQL);
//执行SQL语句并取得结果集
sqlRst.next(); //记录集刚打开的时候,指针位于第一条记录之前

intRowCount = sqlRst.getInt(1);

sqlRst.close(); //关闭结果集

intPageCount = (intRowCount+intPageSize-1) / intPageSize;

//调整待显示的页码
if(intPage>intPageCount) intPage = intPageCount;

//设置获取数据SQL语句
String Topic_type=request.getParameter("Topic_type");
sqlRst=sqlStmt.executeQuery("select * from forum_topic where Topic_type=\'"+Topic_type+"\'and Is_first=1 order by time desc");


//从数据库中查询出所有留言,按留言时间的倒序查询
//将记录指针定位到待显示页的第一条记录上

i = (intPage-1) * intPageSize;

for(j=0;j<i;j++) sqlRst.next();

//显示数据

i = 0;
while(sqlRst.next())
{
String Topic_name=sqlRst.getString("Topic_name");
String UName=sqlRst.getString("UName");
Timestamp Time=sqlRst.getTimestamp("Time");
Date date_time=new Date(Time.getTime());
Time time_time=new Time(Time.getTime());
int Total_reply=sqlRst.getInt("Total_reply");
//得到输出的参数

if(str_bg.equals("#dfdfdf")){

str_bg = "#ffffff";
}
else{

str_bg = "#dfdfdf";}%>
<tr bgcolor="<%=str_bg%>">
<td height='25' align=left>   
<%out.println("<a href=\"view_topic.jsp?Topic_name="+Topic_name+"\">"+Topic_name+"</a>");%>
</td>
<td height='15' align=center> <%out.println(UName);%>
</td>
<td height='15' align=center><%out.println(Total_reply);%>
</td>
<td height='15' align=right><%out.println(""+date_time+" "+time_time+"");%></td>

</tr>
<% i++; } %><tr>

<td align=center colspan="4">

第<%=intPage%>页 共<%=intPageCount%>页

<%if(intPage<intPageCount){%>

<a href="finder.jsp?Topic_type=<%=Topic_type%>&page=<%=intPage+1%>">下一页</a><%
}

%>

<%if(intPage>1){%>

<a href="finder.jsp?Topic_type=<%=Topic_type%>&page=<%=intPage-1%>">上一页</a><%
//}
}
%>
</td></tr>
</table>
</body>
</html>
<%

//关闭结果集

sqlRst.close();

//关闭SQL语句对象

sqlStmt.close();


%>
分页出现问题,明明是一页的内容,但是它来了个第二页,是个空白页,请各位帮我看看,我看了好久也没弄明白是咋回事,谢谢
...全文
36 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
rain_ok 2002-05-26
  • 打赏
  • 举报
回复
^_^,你也没睡觉那,我的问题还是没有弄好哦,但是我用了另一种方法了
weidegong 2002-05-26
  • 打赏
  • 举报
回复
晚上大家的兴致都蛮高的嘛
rain_ok 2002-05-25
  • 打赏
  • 举报
回复
江津没上?
zijianyi 2002-05-25
  • 打赏
  • 举报
回复
2:0 安棋发挥的太差了........
rain_ok 2002-05-25
  • 打赏
  • 举报
回复
我试试,球赛结束了?
iamkangkang 2002-05-25
  • 打赏
  • 举报
回复


sqlRst.next(); //记录集刚打开的时候,指针位于第一条记录之前
intRowCount = sqlRst.getInt(1);

????
iamkangkang 2002-05-25
  • 打赏
  • 举报
回复
计算页数是这样的:
intPageCount = (intRowCount-1) / intPageSize + 1;
zijianyi 2002-05-25
  • 打赏
  • 举报
回复
//显示数据

i = 0;
while(sqlRst.next())

觉得这个也有问题

//显示数据

i = 0;
while(sqlRst.next()&&i<intPageSize)
rain_ok 2002-05-25
  • 打赏
  • 举报
回复
可是我在另外的一个文件也用这个方法,是成功的阿,就是这个
<%@ page import="java.sql.*"%>
<%@ page contentType="text/html;charset=gb2312"%>

<%
java.sql.Connection sqlCon; //数据库连接对象

java.sql.Statement sqlStmt; //SQL语句对象

java.sql.ResultSet sqlRst; //结果集对象

java.lang.String strCon; //数据库连接字符串

java.lang.String strSQL; //SQL语句

int intPageSize; //一页显示的记录数

int intRowCount; //记录总数

int intPageCount; //总页数

int intPage; //待显示页码
java.lang.String strPage;

int i,j,k; //设置一页显示的记录数

intPageSize = 10; //取得待显示页码

strPage = request.getParameter("page");
if(strPage==null){

//表明在QueryString中没有page这一个参数,此时显示第一页数据

intPage = 1;

} else{

//将字符串转换成整型

intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1; }

//装载JDBC驱动程序
Class.forName("com.inet.tds.TdsDriver");
sqlCon= java.sql.DriverManager.getConnection("jdbc:inetdae7://localhost:1113/user_db?user=rain&password=");
//连接数据库
sqlStmt=sqlCon.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
strSQL = "select count(*) from leaveword";
//获取记录总数
sqlRst = sqlStmt.executeQuery(strSQL);
//执行SQL语句并取得结果集
sqlRst.next(); //记录集刚打开的时候,指针位于第一条记录之前

intRowCount = sqlRst.getInt(1);

sqlRst.close(); //关闭结果集

intPageCount = (intRowCount+intPageSize-1) / intPageSize;

//调整待显示的页码
if(intPage>intPageCount) intPage = intPageCount;

//设置获取数据SQL语句

strSQL = "select * from leaveword order by time desc ";

//执行SQL语句并取得结果集

sqlRst =sqlStmt.executeQuery(strSQL);

//从数据库中查询出所有留言,按留言时间的倒序查询
//将记录指针定位到待显示页的第一条记录上

i = (intPage-1) * intPageSize;

for(j=0;j<i;j++) sqlRst.next();%>
<html>


<head>

<title>欢迎来到教改同学谈留言板</title>

</head>
<style type="text/css">
<!--
a { text-decoration:none}
-->
</style>


<body>

<p align=center><strong><font face="华文行楷" size="6" color="#336699">教改同学谈留言板</font></strong></p>

<table border="1" bordercolor="#FFFFFF" cellspacing="0" cellpadding="0" width=458 align=center bgcolor="#ddf7fb">

<%

//显示数据

i = 0;
while(sqlRst.next())
{
String UName=sqlRst.getString("UName");
String Email=sqlRst.getString("Email");
Timestamp Time=sqlRst.getTimestamp("Time");
Date date_time=new Date(Time.getTime());
Time time_time=new Time(Time.getTime());
//处理时间格式
String Content=sqlRst.getString("Content");
//得到留言信息各字段
%>



<!--定制输出表格样式-->
<tr><td >姓名:</td>
<td colspan="2"><%=UName%></td>
</tr>
<tr>
<td>Email:</td>
<td>
<%
if(Email!=null)
out.println("<a href=mailto:"+Email+">"+Email+"</a>");
//输出发电子邮件的链接格式
else out.println(" ");
%>
</td></tr>
<tr><td >时间:</td>
<td colspan="2">
<%
out.println(""+date_time+" "+time_time+"");
//输出时间
%></td>
</tr>
<tr><td >
内容:
</td>
<td colspan="2">
<%=Content%>
<!--输出留言内容-->
</td></tr>
<% i++; } %><tr>

<td align=center colspan="2">

第<%=intPage%>页 共<%=intPageCount%>页

<%if(intPage<intPageCount){%>

<a href="view_leaveword.jsp?page=<%=intPage+1%>">下一页</a><%

}

%>

<%if(intPage>1){%>

<a href="view_leaveword.jsp?page=<%=intPage-1%>">上一页</a><%

}
%>

</td>

</tr>
<tr>
<td colspan="2"> <div align="center"><a href="leaveword_default.htm">我要留言</a></div></td></tr>

</table> </body>

</html>
<%

//关闭结果集

sqlRst.close();

//关闭SQL语句对象

sqlStmt.close();

//关闭数据库

sqlCon.close();

%>




rain_ok 2002-05-25
  • 打赏
  • 举报
回复
就算是只有一条记录也会出现两页阿。好奇怪
zijianyi 2002-05-25
  • 打赏
  • 举报
回复
看球了,一会回来
zijianyi 2002-05-25
  • 打赏
  • 举报
回复
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
这句好象有问题呀
intPageCount=intRowCount/intPageSize;
if(intRowCount%intPageSize!=0)
intPageCount+=1;
rain_ok 2002-05-25
  • 打赏
  • 举报
回复
不明白阿,我的库里面的内容只有一页阿
saintKnight 2002-05-25
  • 打赏
  • 举报
回复
肯定是当前页的数字出错了,是不是从有两页的页面转到只有一页内容的页面时出现这种情况的?说明前面的当前页没有复位
请先阅读帮助文档:http://ismyway.com/help [2009.1.1] Ver 3.2.26 ※如果安装提示证书过期或无法安装,请在手机上将时间改为2008.8.8,安装设置完成后再将日期改回即可!※ 增加天语的按键映射 增加三星的背景灯控制功能(该功能未在真机上测试过) 删除图片浏览中的部分功能,由于这部分功能需要较大的内存,导致在大部分手机上无法完成,同时也引起背景图片无法设置成功 触摸屏用户可以不再受滚动条限制,在屏幕上任意地方都可以进行拖动 选择键盘映射为其它时无法再次更改的BUG 用户输入的颜色值无法保存的BUG 修正英文单词分词时会多添加一个空行的BUG 繁体语言措词上的修正 阅读设置中增加一个“文件缓存”选项,默认情况下是开启的,在NOKIA手机上会提高UMD等文件的表现,但由于测试并不充足,如果程序经常在阅读时出错,请关闭该选项(其它手机是否开启该选项并无明显的影响) 修正编辑文件后无法保存的BUG [2008.10.27] Ver 3.2.24 ※如果安装提示证书过期或无法安装,请在手机上将时间改为2008.8.8,安装设置完成后再将日期改回即可!※ 改进的颜色选择方式 允许用户重新选择键盘映射 HTML阅读时的错误 进一步完善编辑功能(仍有少许BUG,请继续反馈,谢谢) 新建文件后自动跳转到编辑中 改进的文件操作方式,速度轻微提升 UMD速度明显提升,并且减少内存占用,特别是在NOKIA手机上,表现提升超过600% 改进的输入框模式,以使得能适应更多的手机如天语等 [2008.10.21] Ver 3.2.23 为了提高运行效率,以下功能在LITE上将被取消(自定义欢迎页问候语;欢迎页背景图) 取消了JAR的支持,提高运行效率 修正打开大ZIP文件时的内存溢出错误 ·修正:  自动滚屏到末尾时,滚屏功能将停止 [2008.10.4] Ver 3.2.22 暂时删除了播放功能及网络相关的功能,由于以上两项功能一直没有能稳定下来,故暂时删除 增强了ZIP功能,支持带文件夹结构的ZIP/JAR文件 (对于大部分JAR电子书都,可以从文件管理器中找到非.class结尾的文件,并且选择打开为UNICODE/TXT阅读) (对于NOKIA手机及其它部分手机,由于安全策略的限制,在Anyview的文件管理器中无法查看后缀为.jar的文件) 自定义问候语(系统路径下dictum.rc文件,格式参见jar包中的dictum.rc文件,保存时使用UTF-8编码,可写条目为0~9/a~z/A~Z,置空时表示不显示问候语) ·修正:  0键在各偏好中切换时亮度混乱的问题  部分手机上无法新建文件夹 [2008.9.11] Ver 3.2.21 修正动画参数无法保存的BUG 动画效果不再对阅读翻页有作用 [2008.8.29] Ver 3.2.21 可将正在阅读的内容通过短信与好友分享 增加一种新的滚屏方式:波浪,同时,阅读时3键不再使用默认的像素滚屏,而会使用最后一次使用的滚屏方式 任何可用的外置字库都可以作为内置字库存在,在jar包中存在dot.font会被当为内置字库加载 加快大文件的打开速度,特别是对于NOKIA手机,S60上,打开20M文件,97%左右的位置不超过15秒 允许用户打开动画效果 ·M600/P990/P1/W950  修正键盘映射时“内存不足”的BUG ·E680/A780  选中后台播放后无法启动的BUG [2008.7.30] Ver 3.2.20 调整部分索爱手机上背景灯控制的逻辑 修正看图片时按0键出错的BUG 旋转屏幕引起的字外出 打开LRC最后出错 阅读到尾部弹出“上一个/下一个”窗口中的文件名过长不刷新的问题 偏好切换时亮度混乱的问题 在NOKIA上,当系统路径设置为根目录是无法启动的BUG E398上可以开关键盘灯 UIQ系统在退出时可以保持亮度 索爱上按“返回”键后导致阅读出现白屏的BUG 阅读时切换屏幕方向导致字体超出屏幕的BUG 欢迎屏幕上的日期使用中文显示 如果使用触屏手机,跳转改为进度条模式,以方便触屏操作 系统路径下如果存在bg.png文件,则会作为欢迎界面的背景图片显示(右下角) 减少跳转及翻页中出现乱码的机率 提高阅读时绘图效率,滚屏效率同样提高 播放时,暂停会导致声音爆至最大的BUG 内置“忘记月亮”制作的两款主题《典雅红》《黑橙》,并且更换主题不再要求退出 文件管理器中支持“剪切”功能 文件管理器中新增转换UMD为TXT的功能(解开操作,解开2无效!) 增加了编辑功能(尽管没有限制文件大小,但请别编辑过大的文件,另外,为了提高速度,不进行全文排版,有时候表现可能会有些不习惯),以后会进一步完善 启动时,会自动识别NOKIA、SONYER

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧