ResultSet Rs=Login.executeQuery(sql);这句话没能执行 直接显示的sql语句 求助啊!!

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.sql.ResultSet" %>

<jsp:useBean id="Login" class="Common.DBConnect" scope="page"/>
<jsp:useBean id="MD5" scope="page" class="Common.MD5" />
<% request.setCharacterEncoding("gb2312");%>
<%
String SelectType=Login.inStr(request.getParameter("SelectType"));
String LoginID=Login.inStr(request.getParameter("loginid"));
String PSW=MD5.getMD5ofStr(request.getParameter("password"));
String sql="";
//out.print(PSW);
if(SelectType.equals("Teacher"))
{sql="select * from Teacher where TeaCode like '"+LoginID+"' and TeaPSW like '"+PSW+"'";
// out.print(sql);
}

if(SelectType.equals("Student"))
{sql="select * from Student where StuCode like '"+LoginID+"' and StuPSW like '"+PSW+"'";
// out.print(sql);
}

if(SelectType.equals("Admin"))
{sql="select * from Admin where AdminCode like '"+LoginID+"' and AdminPSW like '"+PSW+"'";
// out.print(sql);
}

ResultSet Rs=Login.executeQuery(sql);

try{
out.print(sql);
if(Rs.next())
{
out.print("验证成功");
if(SelectType.equals("Teacher")) {
session.setAttribute("TeaID",Rs.getString("TeaID"));
session.setAttribute("Name",Rs.getString("TeaName"));
}
if(SelectType.equals("Student"))
{session.setAttribute("StuID",Rs.getString("StuID"));
session.setAttribute("Name",Rs.getString("StuName"));
}
if(SelectType.equals("Admin"))
{session.setAttribute("AdminID",Rs.getString("AdminID"));
session.setAttribute("Name",Rs.getString("AdminName"));
}
session.setAttribute("SelectType",SelectType);
//out.print(session.getAttribute("TeaID"));
out.print("<script>alert('用户名登录成功!!!');window.location='Main.jsp'</script>");
}
else
{
out.print("验证失败");
out.print("<script>alert('用户名或密码错误!!!');window.location='index.htm'</script>");

}

}catch(Exception e)
{
e.printStackTrace();
}
finally{
try{
Rs.close();
Login.closeStmt();
Login.closeConn();
}catch(Exception e){
e.printStackTrace();
}
}

%>
执行到ResultSet Rs=Login.executeQuery(sql);出现问题 没能反倒sql 而是直接显示出选admin的sql语句 求助!

第1个回答  2012-05-30
SelectType决定执行的SQL到底是什么。
String SelectType=Login.inStr(request.getParameter("SelectType"));
把这个值打出来看,照你的描述这个值应该是Admin 。。
不过像你这么分角色的方法还真是。。。特别。。。把人放一张表里,简单就加个类别字段区分角色,复杂点设计一套角色权限表再和人做关联。。。不然以后多一类比如外教,是不是还要加张数据库表。。。
第2个回答  2012-05-30
Login 是什么类型啊?
executeQuery(sql); 只有statement才能有这个方法吧?
Statement st = connection.createStatement();
ResultSet rs = st.executeQuery(sql);
第3个回答  2012-05-30
把异常贴出来看看。 你描述的一团糟。
相似回答