Java while(rs.next()) 只有显示最后一行 怎么改可以显示全部啊

ResultSetrs=stmt.executeQuery(sql);ObjectcolumnNames[]={"ID","姓名","性别","邮箱","职务","部门"... ResultSet rs = stmt.executeQuery(sql);
Object columnNames[]={"ID","姓名","性别","邮箱","职务","部门"};
int id1 = 0;
String username1 = null;
String sex1 = null;
String email1 = null;
String dept1 = null;
String position1 = null;
while(rs.next()){
String id2 = rs.getString("UID");
id1= Integer.parseInt(id2);
username1 = rs.getString("UNAME");
sex1 = rs.getString("USEX");
email1 = rs.getString("UEMAIL");
dept1 = rs.getString("UDEPT");
position1 = rs.getString("UPOSITION");
}
Object rowData[][] = {{id1,username1,sex1,email1,position1,dept1}};
JTable table = new JTable(rowData, columnNames);
JScrollPane jsp=new JScrollPane(table);
table.setPreferredScrollableViewportSize(new Dimension(450, 300));
getContentPane().add(jsp, BorderLayout.CENTER);
if(rs!=null){
rs.close();
}
if(stmt!=null){
stmt.close();
}
if(con != null){
con.close();
}

} catch (Exception e1) {
// TODO: handle exception
e1.printStackTrace();
}
展开
 我来答
playboy5210
2015-12-04 · TA获得超过618个赞
知道小有建树答主
回答量:265
采纳率:100%
帮助的人:154万
展开全部
rs.next不是说显示最后一行,这句代码的含义是游标下移.不知道你所说的显示全部是什么意思.
如果是获取全部记录的话.应该用循环获取.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
那一天的蒲公英
2014-03-28 · TA获得超过139个赞
知道小有建树答主
回答量:140
采纳率:100%
帮助的人:91.5万
展开全部
你这个肯定是只有一行的数据,因为没执行一次,你的username1,sex1等变量都会重新赋值一次,你需要定义一个集合来放查询出来的数据,最好把那些变量封装到POJO中,还有,ResultSet可以直接获取字段的int值,具体方法我忘了,应该是类似rs.getInteger(x)这样的,x为你的列名或列下标
追问
给点代码吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qfxr7260
2014-03-28 · TA获得超过157个赞
知道答主
回答量:174
采纳率:100%
帮助的人:43万
展开全部

你不停的给它赋值有用吗?

你应该要把你要用来放置的代码也放进去,

    //...
    int id1 = 0;
    String username1 = null;
    String sex1 = null;
    String email1 = null;
    String dept1 = null;
    String position1 = null;
    Object rowData[][] = {{id1,username1,sex1,email1,position1,dept1}};
    int i=0;
while(rs.next()){
    String id2 = rs.getString("UID");
    id1= Integer.parseInt(id2);
    username1 = rs.getString("UNAME");
    sex1 = rs.getString("USEX");
    email1 = rs.getString("UEMAIL");
    dept1 = rs.getString("UDEPT");
    position1 = rs.getString("UPOSITION");
    rowData[i]={id1,username1,sex1,email1,position1,dept1};
}
//...

这样。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
czh94253
2015-11-26
知道答主
回答量:36
采纳率:0%
帮助的人:13.3万
展开全部
这是个循环,从第一行到最后一行都显示,只显示最后一行是不是你的sql 只查出来一行。
我看了你贴的,这个简单,在while里加上i++试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无小澜1x
2015-10-07
知道答主
回答量:23
采纳率:0%
帮助的人:5.1万
展开全部
while是条件判断句,while后面条件就好了,要不一直循环,一直被覆盖,所以只显示最后一个的了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式