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();
} 展开
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();
} 展开
7个回答
展开全部
rs.next不是说显示最后一行,这句代码的含义是游标下移.不知道你所说的显示全部是什么意思.
如果是获取全部记录的话.应该用循环获取.
如果是获取全部记录的话.应该用循环获取.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个肯定是只有一行的数据,因为没执行一次,你的username1,sex1等变量都会重新赋值一次,你需要定义一个集合来放查询出来的数据,最好把那些变量封装到POJO中,还有,ResultSet可以直接获取字段的int值,具体方法我忘了,应该是类似rs.getInteger(x)这样的,x为你的列名或列下标
追问
给点代码吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你不停的给它赋值有用吗?
你应该要把你要用来放置的代码也放进去,
//...
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};
}
//...
这样。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是个循环,从第一行到最后一行都显示,只显示最后一行是不是你的sql 只查出来一行。
我看了你贴的,这个简单,在while里加上i++试试。
我看了你贴的,这个简单,在while里加上i++试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while是条件判断句,while后面条件就好了,要不一直循环,一直被覆盖,所以只显示最后一个的了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询