JSP读数据库的问题。初学者,小问题哦~~~

阿建像熊猫 2006-02-25 10:55:42
if(rs.next())
{
while(rs.next())
{
int productid=rs.getInt("productid");
String productName=rs.getString("productName");
}
}
else
{
out.println("没有数据");
}

当我加上if(rs.next())的时候,读出来的数据就会少一条,不加的时候就正常。请问如何解决?????
...全文
296 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
baointoo1980 2006-02-26
  • 打赏
  • 举报
回复
rs有empty方法来判空吧
hanhongmin 2006-02-25
  • 打赏
  • 举报
回复
>resultset是“仅向前”的
还有什么方向?
怎样设置?
阿建像熊猫 2006-02-25
  • 打赏
  • 举报
回复
请问如何解决?????
zx2002027 2006-02-25
  • 打赏
  • 举报
回复
if(rs.next())可以去掉
aha1315 2006-02-25
  • 打赏
  • 举报
回复
没有必要写上嵌套的while吧
wsk_228 2006-02-25
  • 打赏
  • 举报
回复
if(rs.next())//第一条记录
{
while(rs.next())//第二条记录
{

}
这样肯定会少一条记录

梦想家起飞 2006-02-25
  • 打赏
  • 举报
回复
对于resultset,每next一次就会读取一条记录,缺省地,resultset是“仅向前”的,
实际上你if(rs.next())的时候,已经有一条记录被抽取出来,但是你没对其作处理,
便被扔掉了。
infowain 2006-02-25
  • 打赏
  • 举报
回复
if (rs.next())的判断是没有必要的
infowain 2006-02-25
  • 打赏
  • 举报
回复
rs.net()会把游标往后移动一次,你用了一次if(rs.next())所以你读出来的就少了一条啊
xiongbing528 2006-02-25
  • 打赏
  • 举报
回复
ResultSet rs 返回的结果集中rs 指向第一条结果的前面
你while(rs.next())就可以了。
isloop 2006-02-25
  • 打赏
  • 举报
回复
boolean isnull=true;
while(rs.next()){
isnull=false;
}
if(isnull)}{
//为空
}
else{
//不为空
}
lumme 2006-02-25
  • 打赏
  • 举报
回复
那个if(rs.next())那个方向那里明白,如果想要判断没有数据就输出"error",有数据时才输出数据。。。
guo__peng 2006-02-25
  • 打赏
  • 举报
回复
if(rs.next())
这里已经把数据下移了一行,明白了吧

81,122

社区成员

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

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