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

解决方案 »

  1.   

    你的rs2也应该循环
    while(rs2.next()){
      

  2.   


    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就这样
      

  3.   

     /check_login.jsp at line 45去这个页面的45行看看是什么!
      

  4.   


    session.setAttribute("UserID",rs.getInt("UserID"));}
      

  5.   


    不会吧,页面上还有rs.getInt("UserID")啊!你上面的java类中不是已经把UserID放到session中了吗,怎么页面上还要
      

  6.   


    不明白你的意思  是获取数据库中的UserID然后放到session下啊
      

  7.   

    rs.next()是用来判断是否还有下一条数据的
    而getXXX(“column name”)取数据是必须要数据库中表有这个列名才行
      

  8.   

    没办法  本来是ASP的  我只是做转换  不好重新弄