java .langArrayIndexoutofBoundsException как решить эту проблему - PullRequest
0 голосов
/ 22 января 2020

У меня есть приложение Java, которое должно соединиться с базой данных SQL. Код должен позволять пользователю создавать новую учетную запись.
Пользователь должен войти в приложение, чтобы выполнить операцию.

Мой код

  String sql="select * from newaccount where Username = ? and password = ? ";
        try{
         pst=con.prepareStatement(sql);
         pst.setString(2, loginusername.getText());
           pst.setString(3,loginpass.getText());
       rs=pst.executeQuery();
            if(rs.next()){
                rs.close();
                pst.close();


                setVisible(false);
                lodding ld= new  lodding();
                ld.setVisible(true);

            }else{
                JOptionPane.showMessageDialog(null, "Username or password incorrect");
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }finally{
            try{
                                rs.close();

                pst.close();

            }catch(Exception e){

            }

        }



    }                                             

код создания базы данных

       try{
           String sql="Insert into newaccount(Name,Username,password,Email,secque,answer)"
                   + " values (?,?,?,?,?,?)";
           pst=con.prepareStatement(sql);
           pst.setString(1, namenew.getText());
           pst.setString(2, usernamenew.getText());
           pst.setString(3,pass.getText());
           pst.setString(4, email.getText());
           pst.setString(5, (String)jComboBox1.getSelectedItem());
           pst.setString(6, answernew.getText());
           pst.execute();
           JOptionPane.showMessageDialog(null, "New Account Create");

       }catch(Exception e){
           JOptionPane.showMessageDialog(null, e);

       }

    }

Когда я запускаю код для создания базы данных, база данных создается успешно. Однако на этапе входа в систему это выдает эту ошибку: это изображение ошибки enter image description here и это база данных enter image description here

java .langArrayIndexoutofBounds2>

1 Ответ

0 голосов
/ 22 января 2020

Вы не правильно установили фактические значения. у вас есть только два заполнителя, поэтому вам нужно только установить значение для индексов 0 и 1, как показано ниже:

String sql="select * from newaccount where Username = ? and password = ? ";
pst=con.prepareStatement(sql);
pst.setString(0, loginusername.getText());
pst.setString(1,loginpass.getText());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...