为什么刷新一次显示的记录会多一个!?!?

GaoLun 2003-04-07 10:10:41
<% realname=(String)session.getAttribute("realname");
strSQL="select *from course where author='"+realname+"' order by CID";
rs=ConDB.executeQuery(strSQL);
while(rs.next())
option+="<option value=\""+rs.getString("coursename")+"\">"+rs.getString("coursename")+"</option>\n";
out.print(option);
%>

我的代码再上边,我是从数据库里读出来记录,第一次是正确的
我的数据库里只有一条记录,可是我每刷新一次,页面上就多一条记录
...全文
136 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
希偌 2003-04-08
  • 打赏
  • 举报
回复
在循环之前在客户端的js脚本里加上一句
document.all["selectname"].innerText="";
GaoLun 2003-04-08
  • 打赏
  • 举报
回复
不好意思 几位老大,谢谢了,真的谢谢了

我还是比较菜的,学SJP没有几天
最近问题肯定很多了

揭帖
sikuan 2003-04-07
  • 打赏
  • 举报
回复
<% realname=(String)session.getAttribute("realname");
strSQL="select *from course where author='"+realname+"' order by CID";
rs=ConDB.executeQuery(strSQL);
String option="";
while(rs.next()){
option+="<option value=\""+rs.getString("coursename")+"\">"+rs.getString("coursename")+"</option>\n";
}
out.print(option);
%>
每次进入循环时先清空一下option="";
还有while()循环最好戴上{}
GaoLun 2003-04-07
  • 打赏
  • 举报
回复
问题依旧!!
JavaBoyCaoJi 2003-04-07
  • 打赏
  • 举报
回复
zxhong(红透半边天)说的不错撒,呵呵。
还有你可以改成
option value="<%=rs.getString("coursename")%>">"<%=rs.getString("coursename")%>"</option>
如此也可以解决你问题撒,呵呵goodluck
zxhong 2003-04-07
  • 打赏
  • 举报
回复
你用了
option+="<option value=\""+rs.getString("coursename")+"\">"+rs.getString("coursename")+"</option>\n";
当刷新时会从数据库中找记录显示出来,由于你用了option+=
自然每刷新一次就多一条出来
改成:
option="<option value=\""+rs.getString("coursename")+"\">"+rs.getString("coursename")+"</option>\n";
GaoLun 2003-04-07
  • 打赏
  • 举报
回复
可是我前边有定义

ResultSet rs =null

那该怎么办?
JavaBoyCaoJi 2003-04-07
  • 打赏
  • 举报
回复
你的变量是从session当中取得的,当你每次刷新的时候都执行这条sql语句,当然你刷新一次就多一条记录咯。
建议你改其他的方法看看

81,092

社区成员

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

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