读书人

注册的判断有关问题

发布时间: 2012-05-06 16:15:43 作者: rapoo

注册的判断问题
我的想法是想在doreguser.jsp里判断是否表中存在该姓名,如果存在就还跳转到注册页面,如果不存在就跳转到check.jsp页面,check.jsp页面时将注册信息插入表中的,我已经做成功了,就是判断是否存在的页面doreguser.jsp出问题,无论填入什么,都是跳转到注册页面,即使表中的用户不存在,也还是不能跳转到check.jsp页面去执行将数据插入,以下是我的doreguser.jsp页面,求高手帮我看下问题出在哪

doreguser.jsp
<%

Connection conn = null ;
PreparedStatement pstm = null ;
//ResultSet rs = null ;
%>
<%


String name = request.getParameter("name") ;

%>
<%
String sql = "SELECT * FROM users WHERE name=?" ;
try
{

conn = ConnectionManager.getConnection() ;
pstm = conn.prepareStatement(sql) ;
pstm.setString(1,name) ;
ResultSet rs = pstm.executeQuery() ;
if(rs!=null){
out.println("该用户名已经被注册!");
response.sendRedirect("reguser.jsp");
}
else{
response.sendRedirect("check.jsp");
}

// 依次关闭
rs.close() ;
pstm.close() ;
conn.close() ;
}
catch(Exception e) {
out.println(e);
}
%>

[解决办法]
应该是这样判断,

ResultSet rs = pstm.executeQuery() ;
if(!rs.next()){
out.println("该用户名已经被注册!");
response.sendRedirect("reguser.jsp");
}
else{
response.sendRedirect("check.jsp");
}
[解决办法]
不好意思写反了
ResultSet rs = pstm.executeQuery() ;
if(rs.next()){
out.println("该用户名已经被注册!");
response.sendRedirect("reguser.jsp");
}
else{
response.sendRedirect("check.jsp");
}

当rs.next时有数据说明你再数据库中存在记录,所以跳转到reguser.jsp去了
[解决办法]
LZ,结果集不论你查到数据没,都不会是null。所以你要判断的是里面有没有数据。

LS的正确。
[解决办法]
恩 是的楼上很对
我也同意
rs不会是null
rs.next()方法就代表了是否有下一行有就进来没有就不进来

读书人网 >Java Web开发

热点推荐