Galera, estou fazendo uma tela para o usuário fazer buscas no banco de dados. Os dados serão exibidos em uma JTable.
Mas não sei o que está acontecendo que não está exibindo. Quando eu clico no botão Buscar não aparece nada na JTable e está dando o erro AWT-EventQueue-0" java.lang.NullPointerException. Se vcs puderem me ajudar ficaria grato!
[code]public List getLista(String livro) throws SQLException {
String sql = "select * from cadastro_livros where titulo like ?";
PreparedStatement pstm = this.conexao.prepareStatement(sql);
pstm.setString(1, livro);
ResultSet rs = pstm.executeQuery();
List<Livros> minhaLista = new ArrayList<Livros>();
while (rs.next()) {
Livros l1 = new Livros();
l1.setCodigo(Integer.valueOf(rs.getString("codigo_livro")));
l1.setTitulo(rs.getString("titulo"));
l1.setAutor(rs.getString("autor"));
l1.setVolume(Integer.valueOf(rs.getString("volume")));
l1.setEdicao(rs.getString("edicao"));
l1.setAnoEdicao(Integer.valueOf(rs.getString("ano_edicao")));
l1.setEditora(rs.getString("editora"));
l1.setGenero(rs.getString("genero"));
l1.setLocalizacao(rs.getString("localizacao"));
l1.setDisponibilidade(rs.getString("disponibilidade"));
minhaLista.add(l1);
}
rs.close();
pstm.close();
return minhaLista;
}
[/code]
[code]private void btnBuscarActionPerformed(java.awt.event.ActionEvent evt) {
try {
listarLivros();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, “A busca não pode ser concluída\n” + ex, “Erro!”, JOptionPane.ERROR_MESSAGE);
}
}
public void listarLivros() throws SQLException {
AddBD add = new AddBD();
add.getLista("%" + txtBuscar.getText() + "%");
mostrarPesquisa(livro);
}
private void mostrarPesquisa(List<Livros> livro) {
if (livro.size() == 0) {
JOptionPane.showMessageDialog(null, "Nenhum livro foi encontrado", "Atenção!", JOptionPane.WARNING_MESSAGE);
} else {
String[] linha = new String[]{null, null, null, null, null};
for (int i = 0; i < livro.size(); i++) {
tmLivro.addRow(linha);
tmLivro.setValueAt(livro.get(i).getCodigo(), i, 0);
tmLivro.setValueAt(livro.get(i).getTitulo(), i, 1);
tmLivro.setValueAt(livro.get(i).getAutor(), i, 2);
tmLivro.setValueAt(livro.get(i).getGenero(), i, 3);
tmLivro.setValueAt(livro.get(i).getDisponibilidade(), i, 4);
}
}
}
[/code]