使用netbeans在Java中更改密码程序

问题描述 投票:0回答:3

毕竟,我使用了JAVA DB,现在使用的是apache Derby客户端驱动程序,在最终进入数据库后,我遇到了一个新问题

 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    String uname = jTextField1.getText();
    String strpass = jPasswordField1.getText();
    String newpass = jPasswordField2.getText();
    String conpass = jPasswordField3.getText();

    try
    {
    DriverManager.registerDriver(new org.apache.derby.jdbc.EmbeddedDriver());
    }
    catch(SQLException ex1)
    {
        ex1.printStackTrace();
    }

      try      
    {

        Class.forName("org.apache.derby.jdbc.ClientDriver");
    }
    catch(ClassNotFoundException ex)
    {
        ex.printStackTrace();
    }
    try
    {
        Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/niiitusers");
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery("Select * from app.userlogin");
        while(rs.next())
        {
            String usrname = rs.getString("username");
            String passwd = rs.getString("password");
            if(uname.equals(usrname) && strpass.equals(passwd))
            {

                if(newpass.equals(conpass))
                {
                    Statement st1 = con.createStatement();
                    ResultSet i = st1.executeQuery("UPDATE app.userlogin SET password='newpass' where username='usname'");//query i am using to update the password
                    JOptionPane.showMessageDialog(null, "PASSWORD UPDATE SUCCESSFUL");

                }

                else
                {
                    JOptionPane.showMessageDialog(null, "PLEASE CONFIRM PASSWORD");
                }}
            else if(uname.equals("") && strpass.equals("") && newpass.equals(""))
            {
                JOptionPane.showMessageDialog(null, "PLEASE ENTER ALL INFORMATION");
            }
            else
            {
                JOptionPane.showMessageDialog(null, "USERNAME NOT FOUND");
            }
            st.close();

            con.close();
        }

    }
            catch(SQLException e)
            {
                e.printStackTrace();
            }



}                                        

java.sql.SQLException: executeQuery method can not be used for update.
at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
at org.apache.derby.client.am.Statement.executeQuery(Unknown Source)

不执行更新操作。我不确定问题出在哪里

java database swing
3个回答
1
投票

1
投票
© www.soinside.com 2019 - 2024. All rights reserved.