那就证明你的密码更改完全没有执行,

解决方案 »

  1.   

    String sDLZH = Convert.toGBK(request.getParameter("DLZH")).trim();
      String sMM = Convert.toGBK(request.getParameter("MM")).trim();
      String old_MM = Convert.toGBK(request.getParameter("old_MM")).trim();
      String confirm_MM= Convert.toGBK(request.getParameter("confirm_MM")).trim();
      String sTable = "XT_YGB";
      Connection conn=null;
      Statement stmt=null;
      ResultSet rs = null; 
      ////////queryData.getResultSet();
      String sql=null;
      Class.forName("oracle.jdbc.driver.OracleDriver");
      String strCon="jdbc:oracle:thin:@192.168.1.100:1521:coming";
      conn=DriverManager.getConnection(strCon,"sa","sa");
      stmt=conn.createStatement();
      sql="select * from XT_YGB where YGZH='"+sDLZH+"'";
      rs=stmt.executeQuery(sql);
                if (rs.next()) {
        
        String sold_MM=rs.getString("YGMM");
       
       
        if (!sold_MM.equals(old_MM)){ // 当密码不正确时
      
       out.println("<Script Language='javaScript'>");
           out.println("alert('旧密码不正确!');");
           out.println("history.go(-1);");
           out.println("</Script>");
    }
    else{ // 当密码正确时
             sql="update XT_YGB set YGMM='"+sMM+"' where YGZH='"+sDLZH+"'";
             stmt.executeUpdate(sql);
            
              //修改成功
              
            
            out.println("<Script Language='javaScript'>");
              out.println("alert('密码修改成功!');");
              out.println("document.location.href='index.jsp';");
              out.println("</Script>");
             /// }
              }
       
    }
     else {
         // 当用户名不正确
        out.println("<Script Language='javaScript'>");
         out.println("alert('用户名不正确!');");
         out.println("history.go(-1);");
         out.println("</Script>");
       }
       
    }
      

  2.   

    上面是修改密码的程序
    旧密码不为空时可以修改,为空时出错。
      

  3.   

    你的数据库所存贮的密码是不是加密后的密码啊?这样你在数据库中直接改的密码和你在页面中填写的密码就不一样了。要注意一下这方面。