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
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
Vou dar uma estudada em cada sugestao… qualquer coisa eu posto…
“Brigadinha”