Pessoal estou com uma dúvida ao carregar uma tabela com base em um item selecionado na JComboBox. Quando executo o código a tabela apenas carrega o primeiro item selecionado na JComboBox. Quando seleciono o Item 2, a Jtable retorna em branco. Acredito que o erro esteja no setString…
String sql = "SELECT quadraantiga, quadraatual, lote, metragem, testada, localizacao, matricula, status FROM tblotes WHERE empreendimento = ? AND status = 'Vendido' LIKE status = 'Vendido'";
try {
pst = conexao.prepareStatement(sql);
pst.setString(1, (String) jComboBox1.getSelectedItem());
rs = pst.executeQuery();
if (rs.next()) {
jTabela.setModel(DbUtils.resultSetToTableModel(rs));
defineRenderers();
alinharcabecalhotabela();
} else if (rs != null) {
JOptionPane.showMessageDialog(null, "Não há dados para exibir");
jTabela.setModel( DbUtils.resultSetToTableModel(rs));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
O LIKE nessa consulta parece errado. Dessa forma que vc quis usar mesmo?
SELECT quadraantiga, quadraatual, lote, metragem, testada, localizacao, matricula, status
FROM tblotes
WHERE empreendimento = ? AND status = 'Vendido' LIKE status = 'Vendido'
Aparentemente o erro não está nesta linha, pois ao selecionar o item 1 da jcombobox a tabela é carregada com o resultado do filtro. O erro começa quando seleciono o item 2 da combo. Parece que tem algo errado no jTabela.setModel(DbUtils.resultSetToTableModel(rs));
Ainda assim é estranho essa consulta funcionar dessa forma.
Manda o código desse método pra gente ver: DbUtils.resultSetToTableModel
@Lucas_Camara Consegui resolver. O erro estava ocorrendo porque eu inseri manualmente no BD umas informações para executar o teste do código acima. Estava havendo incompatibilidade entre a informação registrada com o item selecionado no jCombox. Já resolvi o problema e agora está funcionando perfeitamente.
De qualquer forma, obrigado pela atenção.
1 curtida