Java как получить доступ к приватной строке - PullRequest
0 голосов
/ 31 августа 2018

Я занимаюсь разработкой Java-класса, который сохраняет информацию в базе данных доступа, в начале появляется экран входа.

VA = VAuser.getText(); 

if (VA.equals("VA number")){
        JOptionPane.showMessageDialog(rootPane,"Please enter a VA","Error",1);
}else{
    try{
        con = Connectionz.getConnection();//Connection Object 
        pst = con.prepareStatement("select * from Login_users where va=?");
        pst.setString(1,VA);

        rs = pst.executeQuery();

        if (rs.next()){ 
            VAusername = rs.getString("name");
            Panel_1 welcome = new Panel_1(VAusername);
            welcome.setVisible(true);
            setVisible(false);
        }
        else{
            JOptionPane.showMessageDialog(null, "Sorry, I cannot find you");
        }         
    }
    catch (Exception ex){ 
            System.out.println(""+ex);
    }
}                 

Передается Panelu1 имя пользователя VAuser, теперь здесь я получаю строку

public Panel_1(String name){
    initComponents();
    namelabel.setText(name);
    data.setVisible(false);
    data1.setVisible(false);
    data2.setVisible(false);
    data5.setVisible(false);

    this.setLocationRelativeTo(null);
}

Теперь вот код для сохранения информации в БД

try{
    Date entry = new Date();
    int entryid = 0;

    entry.getTime();              

    con = Connectionz.getConnection();//Connection Object 
    Statement pst = con.createStatement();
    pst.executeUpdate("insert into First_Entry_test values('"+entryid+","+name+",');         
}                                         
catch (Exception ex){
    System.out.println(""+ex); 
}

Я получаю сообщение о том, что объект name является частным и что я не могу взять оттуда информацию, необходимую для передачи этой конкретной строки, прежде чем продолжить работу с другими значениями, спасибо.

1 Ответ

0 голосов
/ 31 августа 2018

Следующими способами вы можете получить доступ к закрытому полю VAUserName.

  1. Выставить его с помощью геттера в классе панели
  2. Если к классу Dao можно получить доступ из класса панели, вы можете напрямую передать метод.

И наконец, если нет никакой связи между панелью и классом dao и его приложением, основанным на сеансах.

  1. Вы можете сохранить VAUserName в качестве объекта сеанса, если работаете с сервлетом

    request.setAttribute ("объект", объект);

Дайте мне знать, если это работает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...