Instrucao SQL

ola Pessoal, tudo bem?

tenho que colocar em minha pagina um campo onde a pessoa digite a instrucao SQL e execute indo para outra pagina exibindo em uma tabea…

Como posso fazer isso?

Obrigada

A pessoa vai digitar uma query, e você quer apresentar o resultado dessa query na tela?, crie um metodo que receba uma string no caso a query

private List createQuery(String query)throws Exception{
    PreparedStatement stmt = this.connection.prepareStatement(query);
    ResultSet rs = stmt.executeQuery();
    List list = new ArrayList();
    while (rs.next()) {
        SeuBean bean = new SeuBean();
        bean.setCampo1(rs.getString("campo1"));
        bean.setCampo2(rs.getString("campo2"));
        ...
        list.add(bean);
    }
    rs.close();
    stmt.close();
    return list;
}

O problema é saber quais campos foram selecionados na query, para poder montar uma lista na tela e apresentar.

Entao…
Eu fazia isso em Cgi/PERL porem em Java fiquei meio enroscada…
No Cgi eu fazia assim:

print "<TABLE BORDER=1 align=Center cellpadding=2 cellspacing=2>";

while (@row = $sth->fetchrow_array())
    {
           print Tr( td( \@row ) );
    }


print "</TABLE>";

So que em Java nao sei como irei imprmir… :?)

Você vai executar a consulta e ler o metadados da(s) tabela(s) pra compor uma lista com chave/valor.

Na página JSP você lê essa estrutura (lista) e exibe numa tabela chave (nome do campo da tabela) e valor (conteúdo do campo).

Você pode fazer semelhante a isso, mas quem garante que a query vai estar correta, deve existir essa validação quantos campos foram selecionados para montar o html correspondente.

Evite colocar regras de negócio direto no JSP como esta esse seu exemplo em PERL, de uma olhada em Servlets.

http://www.motorway.com.br/usr/daniel/java/CursoJavaWeb.zip

Uma coisa que pode te ajudar também seria o JSTL com a tag<c:forEach>
, onde teria um resultado semelhante ao seu while.

Eu faria assim:

1 Criaria a página que contém o campo da query.
2 Criaria a classe de conexão, qual será o banco de dados?
2 Criaria a classe de negocio, semelhante a que te passei.
3 Criaria uma servlet que vai receber esse campo via request e acionar a classe de negócio onde teria sua instrução sql e devolveria para a camada de visualização JSP.
4 Finalmente apresentar os resultados em outra pagina JSP.

Parece muita volta para fazer pouca coisa, mas imagine que esse sistema cresça, tudo estará separado e organizado, e acredite fica mais facil para dar manutenção.

Obrigada pessoal… todas as informacoes sao preciosas :slight_smile:
Vou dar uma estudada em cada sugestao… qualquer coisa eu posto…

“Brigadinha” :wink: