Olá a todos.
Pessoal, estou com uma dúvida um pouco gritante, estou desenvolvendo um Frame e neste frame eu tenho um jTable onde mostra todas as informações de uma tabela. Também tenho um jTextField que irá servir de parâmetro para pesquisa, e um JButton para executar esta pesquisa. Até aí tudo bem, a minha dúvida é que dentro de um argumento de pesquisa, eu posso ter vários resultados, e ao invés de mostrar somente aqueles resultados dentro da jTable, eu preciso, sempre que a pessoa clicar no botão Pesquisar, ele irá chamar o próximo registro sql. O motivo pelo qual isto é que a cada resultado encontrado (um por vez) gostaria que ele selecionasse e fosse até aquela linha que se encontra o registro que bate com o parâmetro pesquisado. Então eu não posso usar
while (rs.next())
Porque enquanto existir um resultado que atende à aquele argumento, ele irá fazer a instrução sql. Tentei com :
if (rs.next())
E ele só me retorna o primeiro resultado.
Não tenho dúvidas em como montar minha SQL, mas como eu posso fazer para prosseguir com isto? Já pensei em colocar um outro botão para que, se caso fosse identificado mais de um registro encontrado por causa da pesquisa contendo aquele argumento, mas seria uma coisa a mais que não seria ‘necessária’.
Por enquanto desenvolvi meu código desta forma, já fiz várias modificações mas ou foi mancada minha, ou não encontrei uma forma necessariamente legal para montar isto:
if (jComboBox1.getSelectedIndex() == 1) {
//TODO continuar este bloco.
sql = "select codigo, problema, solucao from reg_helpdesk where problema like '%" + jTextFieldPesquisa.getText().trim() + "%'";
rs = S.preencheDataSet(sql);
try{
if ((rs.next())) {
codigo = rs.getString(1);
problema = rs.getString(2);
solucao = rs.getString(3);
System.out.println("\n" + codigo);
jTableRegistros.setRowSelectionInterval(Integer.parseInt(codigo) - 1, Integer.parseInt(codigo) - 1);
}
if (rs.isLast())
ultimoResultado = 1;
} catch (Exception e) {
e.printStackTrace();
}
}
Obrigado desde já.
