while(rs.next())执行不了

执行while(rs.next())进不了。语句如下:packagemysql01;importjava.sql.*;publicclassMySqlConnector{... 执行while(rs.next())进不了。
语句如下:
package mysql01;
import java.sql.*;public class MySqlConnector { //加载java连接mysql驱动 public static final String DBDRIVER = "com.mysql.jdbc.Driver"; //声明mysql的链接、用户名和密码(密码为空) static String URL ="jdbc:mysql://localhost/hanxg"; static String USER ="root"; static String PASSWORD = "654321"; public static void main(String[] args) { // TODO Auto-generated method stub java.sql.Connection conn = null; //String name ="13400555"; try { Class.forName(DBDRIVER); } catch(ClassNotFoundException e){ e.printStackTrace(); } try{ //建立sql连接 conn = DriverManager.getConnection(URL,USER,PASSWORD); //执行sql语句 Statement stmt = conn.createStatement(); String sql = "select * from name_password"; ResultSet rs = stmt.executeQuery(sql); System.out.println(rs.next()); while(rs.next()){ System.out.println("rs有值"); } rs.close(); stmt.close(); } catch (SQLException e){ e.printStackTrace(); } try{ conn.close(); }catch (SQLException e){ e.printStackTrace(); } }}

执行到 System.out.println(rs.next()); 可以打印出true(即可以执行到表示执行到查询语言都是正常的,而且是有结果的)
但是while(rs.next()){ System.out.println("rs有值"); }
不能执行,请高手指点啊,跪求
展开
 我来答
百度网友5e57e5cdb
2013-12-24 · 超过17用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:62.5万
展开全部
rs.next()调用一次会使游标向后移动,第一个System.out.println(rs.next()); 打印true说明游标中有一个值。再次调用rs.next()是看游标中是否存在第二个值,while(rs.next()){ System.out.println("rs有值");}没有执行说明没有第二个值。
追问
谢谢,你说的也正确,但是楼上的那个回答先啊,所以遗憾分给他了,遗憾还想多向您请教啊,
comproliulei
2013-12-24
知道答主
回答量:6
采纳率:0%
帮助的人:8.1万
展开全部
rs里可能只有1列值啊 你rs.next一次,游标就往下走一次 while的时候 游标就到尾部了 你可要打印一下 rs.count 看看记录总数
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式