jtextfiled не получает значение, выбранное из выпадающего списка - PullRequest
0 голосов
/ 31 мая 2019

Я хочу получить значение, выбранное из поля со списком, в поле jtextfield.Согласно моему UI Combobox находится в 4-м.Поэтому я кодировал:

pst.setString(4, (String)cmbPaySub.getSelectedItem());

и всплывающее сообщение об ошибке:

Индекс параметра вне диапазона. (4> количество параметров, равное 1 ".

Я пытался с помощью кодирования;

pst.setString(1, (String)cmbPaySub.getSelectedItem());

Ни одна ошибка не появится, и значение также не улавливается.

private void cmbPaySubActionPerformed(java.awt.event.ActionEvent evt) {                                          
    try{
        Class.forName("com.mysql.jdbc.Driver");
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/sipnena", "root", "");
        String sql="select * from payments where cmbSubject=?";
        PreparedStatement pst=con.prepareStatement(sql);
        pst.setString(4, (String)cmbPaySub.getSelectedItem());

        ResultSet rs=pst.executeQuery();

        while(rs.next()){
            txtFee.setText(rs.getString("Fee"));
        }
    }
    catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }
}      

Пожалуйста, помогите мне получить значение дляполе текста.

1 Ответ

0 голосов
/ 31 мая 2019

При чтении результата вы заменяете весь текст значением результата в цикле, поэтому будет отображаться только последнее значение:

while(rs.next()){
    txtFee.setText(rs.getString("Fee"));
}

Вы должны объединить все значения, а затем установить текст:

StringBuilder text = new StringBuilder();
while(rs.next()){
    text.append(rs.getString("Fee"));
    text.append("\n");
}
txtFee.setText(text.toString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...