我的界面是这样的
用户号:  jcombobox
输入旧密码:
输入新密码
确认新密码如何在数据库中调出与用户名相对应的旧密码?

解决方案 »

  1.   

    如果你是就密码忘了,要更新密码,不需要知道旧密码,在回答完几个忘记密码的提示问题后,可以直接用update更新密码就是了。不知道你这样做的目的是什么?
      

  2.   

    比较2次输入的密码有没错误,下面那代码在哪出错了?if(passwordField_1.getText().equals(passwordField_2.getText())){
                String sqlInsert = "Insert 用户表(pass) values('"
                      + passwordField_2.getText().trim()+"')";
                new JOptionPane().showMessageDialog(null,"密码更改成功!");
               }
               else{
    new JOptionPane().showMessageDialog(null,"两次密码不同!");
    }
      

  3.   


    既然是修改密码,为啥还用Insert呢,应该用Update啊。直接修改密码那个字段的值就可以了啊。
      

  4.   

    大概就这个意思
    我发段代码,请大家看下哪出错了
    运行结果老是说两次密码不同。。
    private void buttonActionPerformed(ActionEvent e){
    String pass = null;
               pass = String.valueOf(passwordField.getPassword());
               String sqlSelect = null;
               sqlSelect = "select userid,pass from 用户表 where pass ='"+pass+"' and userid='???'";
               java.util.Vector vdata = null;
               apphm.util.RetrieveObject retrieve = new apphm.util.RetrieveObject();
               vdata = retrieve.getObjectRow(sqlSelect);
               if(vdata.get(0)==null)
               {
                new JOptionPane().showMessageDialog(null,"旧密码不正确!");
               }
               else if((String.valueOf(passwordField_1.getPassword())).equals(String.valueOf(vdata.get(1)))){
                String sqlInsert = "Update 用户表(pass) values('"
                      + passwordField_2.getPassword()+"')";
                try{
                         con = CommonaJdbc.conection;
                         pstmt = con.prepareStatement(sqlInsert);
                         pstmt.execute();
                     }catch(java.sql.SQLException sql){
                         sql.printStackTrace();
                     }       
                new JOptionPane().showMessageDialog(null,"密码更改成功!");
               }
               else{
    new JOptionPane().showMessageDialog(null,"两次密码不同!");

    }