Metodo que retorne qq tipo de query passada

13 respostas
A

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.

13 Respostas

drigo.angelo

Não entendi o que você quer .

O que é esse StringBuilder que você vai retornar??

ivandasilva

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*/));
drigo.angelo

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

A

mas eu nao tenho os nomes das colunas.

e eu vou ter que retornar os nomes das colunas tb

A

pois é

muito estranho!
resumindo, eu vou ter q simular um editor de SQL

ivandasilva

O ResultSetMetadata retorna o nome das colunas

A

na minha tela so tem um campo texto p pessoa digitar qualquer consulta

e tenho q retornar os valores dessa consulta

drigo.angelo

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

A

aonde tem esse “esqueleto”?

A

alguem sabe onde tem esse exemplo?

wbdsjunior

no site do HSQLDB.

Appendix B. First JDBC Client Example.

drigo.angelo

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

A

ESTOU MONTANGO AQUI

QD FICAR PRONTO EU POSTO

Criado 7 de fevereiro de 2011
Ultima resposta 7 de fev. de 2011
Respostas 13
Participantes 4