String sql="select count(*) coun from UserT where UserName like '" + login_name + "' and password like '" + password + "'";
ResultSet rs=st.executeQuery(sql);
session.setAttribute("grade","");
session.setAttribute("BranchID","");
session.setAttribute("NodeID","");
session.setAttribute("UserPrivate","");
session.setAttribute("UserID","");
while(rs.next()){
int count = rs.getInt("coun");
if(count > 0){//表示存在该用户,且密码正确
String sql2 ="select UserID,grade,BranchID,NodeID from UserT where UserName like '" + login_name + "' and password like '" + password + "'";
ResultSet rs2=st.executeQuery(sql2);
rs2.next();
session.setAttribute("login_flag",1);
session.setAttribute("UserName",request.getParameter("login_name"));
//session.setAttribute("UserID",rs.getInt("UserID"));
session.setAttribute("grade",rs2.getInt("grade"));
//session.setAttribute("BranchID",(rs2.getString("BranchID")).trim());
//if((rs2.getString("BranchID")).trim()=="")
//session.setAttribute("BranchID", "-1");
//session.setAttribute("NodeID",(rs2.getString("NodeID")).trim());
// if((rs2.getString("NodeID")).trim()=="")
// session.setAttribute("NodeID", "-1");
//Session.setAttribute("BranchName",GetBranchName(Session.getAttribute("BranchID")));
//session.setAttribute("NodeName",GetNodeName(session.getAttribute("BranchID"),session.getAttribute("NodeID"));
//WriteLogDB("登录成功");
Statement st_suc;
String sql_suc="insert into UserOpert(UserName,Operation,grade) Values('" +session.getAttribute("UserName") + "','登陆成功','" + session.getAttribute("grade") + "')";
st_suc=conn.createStatement();
st_suc.execute(sql_suc);
response.sendRedirect("main.jsp");
} else {//用户名或密码错误
Statement st_fail;
String sql_fail="insert into UserOpert(UserName,Operation,grade) Values('" +session.getAttribute("UserName") + "','登陆成功','" + session.getAttribute("grade") + "')";
st_fail=conn.createStatement();
st_fail.execute(sql_fail);
response.sendRedirect("Login.jsp");
}
}
rs.close();
st.close();
conn.close();
%>
部分代码 此时是提示An exception occurred processing rs.next()行
去掉rs2.next() 提示[Microsoft][SQLServer 2000 Driver for JDBC]Invalid operation for the current cursor position.
直接用rs.getInt("UserID") 提示:
[SQLServer 2000 Driver for JDBC]Invalid column name: UserID
ResultSet rs=st.executeQuery(sql);
session.setAttribute("grade","");
session.setAttribute("BranchID","");
session.setAttribute("NodeID","");
session.setAttribute("UserPrivate","");
session.setAttribute("UserID","");
while(rs.next()){
int count = rs.getInt("coun");
if(count > 0){//表示存在该用户,且密码正确
String sql2 ="select UserID,grade,BranchID,NodeID from UserT where UserName like '" + login_name + "' and password like '" + password + "'";
ResultSet rs2=st.executeQuery(sql2);
rs2.next();
session.setAttribute("login_flag",1);
session.setAttribute("UserName",request.getParameter("login_name"));
//session.setAttribute("UserID",rs.getInt("UserID"));
session.setAttribute("grade",rs2.getInt("grade"));
//session.setAttribute("BranchID",(rs2.getString("BranchID")).trim());
//if((rs2.getString("BranchID")).trim()=="")
//session.setAttribute("BranchID", "-1");
//session.setAttribute("NodeID",(rs2.getString("NodeID")).trim());
// if((rs2.getString("NodeID")).trim()=="")
// session.setAttribute("NodeID", "-1");
//Session.setAttribute("BranchName",GetBranchName(Session.getAttribute("BranchID")));
//session.setAttribute("NodeName",GetNodeName(session.getAttribute("BranchID"),session.getAttribute("NodeID"));
//WriteLogDB("登录成功");
Statement st_suc;
String sql_suc="insert into UserOpert(UserName,Operation,grade) Values('" +session.getAttribute("UserName") + "','登陆成功','" + session.getAttribute("grade") + "')";
st_suc=conn.createStatement();
st_suc.execute(sql_suc);
response.sendRedirect("main.jsp");
} else {//用户名或密码错误
Statement st_fail;
String sql_fail="insert into UserOpert(UserName,Operation,grade) Values('" +session.getAttribute("UserName") + "','登陆成功','" + session.getAttribute("grade") + "')";
st_fail=conn.createStatement();
st_fail.execute(sql_fail);
response.sendRedirect("Login.jsp");
}
}
rs.close();
st.close();
conn.close();
%>
部分代码 此时是提示An exception occurred processing rs.next()行
去掉rs2.next() 提示[Microsoft][SQLServer 2000 Driver for JDBC]Invalid operation for the current cursor position.
直接用rs.getInt("UserID") 提示:
[SQLServer 2000 Driver for JDBC]Invalid column name: UserID
while(rs2.next()){
org.apache.jasper.JasperException: An exception occurred processing JSP page /check_login.jsp at line 4542: while(rs2.next()){
43: session.setAttribute("login_flag",1);
44: session.setAttribute("UserName",request.getParameter("login_name"));
45: session.setAttribute("UserID",rs.getInt("UserID"));}
46: //session.setAttribute("grade",rs2.getInt("grade"));
47: //session.setAttribute("BranchID",(rs2.getString("BranchID")).trim());
48: //if((rs2.getString("BranchID")).trim()=="")加了个while就这样
session.setAttribute("UserID",rs.getInt("UserID"));}
不会吧,页面上还有rs.getInt("UserID")啊!你上面的java类中不是已经把UserID放到session中了吗,怎么页面上还要
不明白你的意思 是获取数据库中的UserID然后放到session下啊
而getXXX(“column name”)取数据是必须要数据库中表有这个列名才行