Bom dia,
estou tentando fazer um metodo que me retorne qualquer query executada:
public StringBuilder consultaSQL(String query){
StringBuilder resultado = new StringBuilder();
try {
PreparedStatement ps = this.getCnn().prepareStatement(query);
ResultSet rs = ps.executeQuery();
while(rs.next()){
//como eu pego os resultado??
}
} catch (SQLException ex) {
Logger.getLogger(DAOExcelSql.class.getName()).log(Level.SEVERE, null, ex);
}
return resultado;
}
mas eu nao tenho ideia de como eu pego esses resultados.
se alguem puder me ajudar
Muito obrigado.
Não entendi o que você quer .
O que é esse StringBuilder que você vai retornar??
Eu acredito que você possa pegar tudo como Object e depois ver qual o tipo correto do Objeto…
Tipo
List<Object> list = new ArrayList<Object>();
while(rs.next())
list.add(rs.getObject(/*nome da coluna ou index*/));
Ainda acho isso meio bizarro :shock:
Tem gente que pega o ResultSetMetadata, que tem um array (eu acho) com os nomes das colunas, daí é só iterar pelos valores desse array e pegar os resultados de todos os campos e coloca em um List<List> (ou pior List<List> ) serve para quando você vai fazer uma consulta muito elaborada, mas ainda é estranho
mas eu nao tenho os nomes das colunas.
e eu vou ter que retornar os nomes das colunas tb
pois é
muito estranho!
resumindo, eu vou ter q simular um editor de SQL
O ResultSetMetadata retorna o nome das colunas
na minha tela so tem um campo texto p pessoa digitar qualquer consulta
e tenho q retornar os valores dessa consulta
Então tem o ResultSetMetadata
Aproveita também o código do ivandasilva como um “esqueleto” e pegue os nomes das colunas pelo ResultsetMetadata…
Retorne uma estrutura de dados que abstraia uma tabela (HashTable deve ser legal, ve ai qual resolve seus problemas)
[]'s
aonde tem esse “esqueleto”?
alguem sabe onde tem esse exemplo?
Esqueleto eu me referi a esta resposta do ivandasilva
No link que eu postei na ultima resposta tem o link da documentação da API do resultsetmetadata e lá tem um exemplo de como obter o resultsetmetadata a partir do resultset