67,550
社区成员




<s:a href="selectinfo.action?username = ${username}&type=users"><s:text name="查看详情"/></s:a>
public class SelectInfoAction extends ActionSupport {
private String username;
private String type;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String selectInfo() throws Exception{
System.out.println("Action运行=======");
UsersDAO dao = new UsersDAO();
Users user = dao.selectInfo(username);
ActionContext.getContext().getSession().put("usre", user);
if("allusers".equals(type)){ //用户查看某个用户信息
return INPUT;
}else if("users".equals(type)){ //用户查看自己信息
return SUCCESS;
}else{ // 管理员查看用户信息
return "find";
}
}
}
public Users selectInfo(String username){
Users user = new Users();
System.out.println("username的值为:"+username);
con = DatabaseDAO.getConnection();
try{
pt = con.prepareStatement("SELECT * FROM users where username = ?");
pt.setString(1, username);
rs = pt.executeQuery();
rs.last(); // 将光标移动到最后一行
int rowCount = rs.getRow(); // 得到当前行号,即结果集记录数
System.out.println("当前行号为:"+rowCount);
if(rs.next()){
System.out.println("........if语句不运行!.......");
user.setId(rs.getInt(1));
user.setUsername(rs.getString(2));
user.setPassword(rs.getString(3));
user.setName(rs.getString(4));
user.setNic(rs.getString(5));
user.setEmail(rs.getString(6));
user.setPhone(rs.getString(7));
user.setSelfshow(rs.getString(8));
}
}catch (Exception e) {
// TODO: handle exception
}finally{
DatabaseDAO.closeRs(rs);
DatabaseDAO.closePt(pt);
DatabaseDAO.clodeCon(con);
}
return user;
}
if(username != null){
username = username.trim();
}
rs.last();
的问题吧.rs.last();已经把结果集放到最后一行了.当然没有next.
把这两句话注释掉就OK了:
rs.last(); // 将光标移动到最后一行
int rowCount = rs.getRow(); // 得到当前行号,即结果集记录数