先贴源代码:
ResultSet rs=null;
String name = request.getParameter("name");
String password = request.getParameter("password");
String sqlstring = "select * from admins where Admname = '"+name+"' and Admpwd= '"+password+"'";
rs = sqltest.executeQuery(sqlstring);
if(rs!=null) {
while(rs.next())
{
request.getSession(true);
String chk="true";
session.putValue("Enter",chk);
response.sendRedirect("mainform.jsp");
}
}
else
{
String errmsg="error1";
response.sendRedirect("login.jsp?errmsg="+errmsg);
}运行输入用户名和密码,总是出现:您输入管理员帐号或者密码不正确!! ,但是用户名和密码肯定是对的呀!各位大侠帮着看下,程序哪里错啦?谢谢啦!!!
ResultSet rs=null;
String name = request.getParameter("name");
String password = request.getParameter("password");
String sqlstring = "select * from admins where Admname = '"+name+"' and Admpwd= '"+password+"'";
rs = sqltest.executeQuery(sqlstring);
if(rs!=null) {
while(rs.next())
{
request.getSession(true);
String chk="true";
session.putValue("Enter",chk);
response.sendRedirect("mainform.jsp");
}
}
else
{
String errmsg="error1";
response.sendRedirect("login.jsp?errmsg="+errmsg);
}运行输入用户名和密码,总是出现:您输入管理员帐号或者密码不正确!! ,但是用户名和密码肯定是对的呀!各位大侠帮着看下,程序哪里错啦?谢谢啦!!!
if(rs!=null) {
即使没有数据,也不会返回null的
2、while(rs.next()) 为什么用while呢?if()就好了嘛。。
返回包含给定查询所生成数据的 ResultSet 对象;永远不能为 null,如果没有查询到信息,返回一个next()为false的ResultSet 对象
ResultSet rs=null;
Boolean flag = false;
String name = request.getParameter("name");
String password = request.getParameter("password");
String sqlstring = "select * from admins where Admname = '"+name+"' and Admpwd= '"+password+"'";
rs = sqltest.executeQuery(sqlstring);
while(rs.next())
{
flag = true;
request.getSession(true);
String chk="true";
session.putValue("Enter",chk);
response.sendRedirect("mainform.jsp");
}
if (flag) {
String errmsg="error1";
response.sendRedirect("login.jsp?errmsg="+errmsg);
}
ResultSet rs=null;
Boolean flag = false;
String name = request.getParameter("name");
String password = request.getParameter("password");
String sqlstring = "select * from admins where Admname = '"+name+"' and Admpwd= '"+password+"'";
rs = sqltest.executeQuery(sqlstring);
while(rs.next())
{
flag = true;
request.getSession(true);
String chk="true";
session.putValue("Enter",chk);
response.sendRedirect("mainform.jsp");
}
if (!flag) {
String errmsg="error1";
response.sendRedirect("login.jsp?errmsg="+errmsg);
}
String name = request.getParameter("name");
String password = request.getParameter("password");
String sqlstring = "select * from admins where admname = '"+name+"' and admpwd = '"+password+"'";
rs = sqltest.executeQuery(sqlstring);
if(rs.next())
{
request.getSession(true);
String chk="true";
session.putValue("Enter",chk);
response.sendRedirect("mainform.jsp");
}
else
{
String errmsg="error1";
response.sendRedirect("login.jsp?errmsg="+errmsg);
}
运行后出现:HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: An exception occurred processing JSP page /admin/chkadmin.jsp at line 129: String password = request.getParameter("password");
10: String sqlstring = "select * from admins where admname = '"+name+"' and admpwd = '"+password+"'";
11: rs = sqltest.executeQuery(sqlstring);
12: if(rs.next())
13: {
14: request.getSession(true);
15: String chk="true";
你可以debug下,查下rs到底有没有取到值if(rs.next())
{ request.getSession(true);
String chk="true";
session.putValue("Enter",chk);
response.sendRedirect("mainform.jsp");
}
else {
String errmsg="error1";
response.sendRedirect("login.jsp?errmsg="+errmsg);
}