jdbc select数据库中数据时rs.next()明明是true,可是就是进不去while(rs.next())循环中

下面是我的代码,运行后的结果为:sssssssssstrue说明while(rs.next())循环没进去程序就结束了,可是明明rs.next()是true啊,而且sql... 下面是我的代码,运行后的结果为:
ssssssssss
true
说明while(rs.next())循环没进去程序就结束了,可是明明rs.next()是true啊,而且sql语句并没有写错,数据库中也都是英文,没有汉字,其他和它一样的代码只是查询的表不同都成功了,就这个不成功不明白为什么,哪个高手帮帮忙,找出可能的原因,谢谢

String sql="select*from shop_info where isuse='1'";

try {
pstmt = JDBCManager.getConn().prepareStatement(sql);
//pstmt.setString(1,"1");
rs=pstmt.executeQuery();
System.out.println("ssssssssss");
System.out.println(rs.next()) //输出true!!!!;
while(rs.next()){
System.out.println("进入循环中");//没执行这条!!!!!!!?
String name=rs.getString(1);
String sddress=rs.getString(2);
String phone=rs.getString(3);

list.add(new shop(name,sddress,phone));
System.out.println("查找成功");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
//System.out.println("查找shibai");
}
finally{
if(pstmt!=null){
。。。。。。
展开
 我来答
百度网友784eb94
2014-12-22 · TA获得超过377个赞
知道小有建树答主
回答量:205
采纳率:100%
帮助的人:166万
展开全部
额!是不是你的数据查找出来只有一条,然后你已经输出了rs.next()了,然后第二次就不可能为true了!!
西红80
2017-11-15
知道答主
回答量:2
采纳率:0%
帮助的人:1827
展开全部
哥们你的这个问题解决了吗?我也遇到了,就是不执行,到底怎么回事啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JWWAAD
2019-09-03
知道答主
回答量:6
采纳率:0%
帮助的人:4277
展开全部
错误示例:
ResultSet rs = ps.executeQuery();
System.out.println(rs.next());
while(rs.next()) {
name= rs.getString("name");
}
正确示例:
ResultSet rs = ps.executeQuery();
while(rs.next()) {
name= rs.getString("name");
}
错误代码:System.out.println(rs.next());
原因:因为rs.next()是游标,可以看成指针,当System.out.println(rs.next());输出来之后,就代表该指针已经获取了第一行的数据。因此进入while(rs.next){
}时,指针再向下走就会获取第二行的数据,刚好你没有第二行数据,因此返回false。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2018-03-24
展开全部
我也遇到这种情况,但是我这边能查到结果的为true,查不到的为false
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式