Pessoal to com uma duvida que é a seguinte…
Eu tenho uma consulta SQl que executo diretamente e guardo o resultado num arraylist, só que tenho que mostrar esse resultado nos componentes na minha tela…
Eu tenho um método consultar que esta numa clasee de conexao de banco…
public ArrayList consultar(String sql) throws Exception {
Statement st = null; // comando de execucao no BD
ResultSet rs = null; // resulta da consulta no BD
ArrayList resultado = new ArrayList();
try {
st = conn.createStatement();
rs = st.executeQuery(sql);
ResultSetMetaData metadata = rs.getMetaData(); //
while (rs.next()) {
HashMap linha = new HashMap();
for (int i = 1; i <= metadata.getColumnCount(); i++) {
linha.put(metadata.getColumnName(i), rs.getObject(i));
}
resultado.add(linha);
}
} finally {
if (rs != null) rs.close();
if (st != null) st.close();
}
return resultado;
}
E agora o metodo que estou tentando pegar este resultado e atribuir nos campos…
public void btnBuscar_actionPerformed(ActionEvent e) {
BancoDeDados bd = new BancoDeDados();
bd.conectar();
try {
String regex = "[A-Z]{3}\\d{4}";
if (edtPlaca.getText().toUpperCase().matches(regex)) {
ArrayList listaResultado = bd.consultar(
"Select * from tb_proprietario where placa_veic = " +
"'" + edtPlaca.getText() + "'");
if (listaResultado.size() == 0) {
JOptionPane.showMessageDialog(null,
"Placa não encontrada,digite novamente");
edtPlaca.jTextField1.requestFocus();
} else {
// aki tenho q atribuir os valores q estao no arraylist pra dentro dos campos.
// onde eutenho jpanel com um combobox... e outros jpanel com o JTextFild.
}
} else {
JOptionPane.showMessageDialog(null, "Placa inválida");
edtPlaca.jTextField1.requestFocus();
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
bd.desconectar();
}
}
}
Se alguem tiver alguma sugestão… Muito Obrigado.