Servlet e Banco de dados

4 respostas
L

Olá pessoal,

Consegui fazer a consulta, mas no momento da impressão não consigo obter sucesso. Pq desejo imprimir uma só vez cada descricao da questao e suas respectivas alternativas, mas qdo executo o servlet ele imprime uma descricao de questao para cada alternativa.
Se alguém puder me ajudar eu agradeço.

minha sintaxe:

sql = "SELECT * FROM QUESTAO, ALTERNATIVA" +
                    " WHERE assunto='" + assunto + "'" + " AND QUESTAO.cod_questao = ALTERNATIVA.cod_questao";
                
                 ResultSet rs = stm.executeQuery(sql);
                
              while(rs.next()){
                  
                  descricao_questao = rs.getString("descricao_questao");
                  alternativa = rs.getString("alternativa");
                  descricao_alt = rs.getString("descricao_alt"); 
                
                  
                  out.println(descricao_questao);
                
                  out.println("</td></tr>");
                  out.println("<TR>");
                  out.println("<TD> " + alternativa + ")");
                  out.println(descricao_alt);
                  out.println("</td></tr>");
               
              }

Obrigada,

Sta. Leisley

4 Respostas

cu_ringa

tente colocar. E observe onde mudei vc coloca os respctivos campos:

sql = "SELECT DISTINCT(descricao), alternativa FROM QUESTAO, ALTERNATIVA" +
" WHERE assunto='" + assunto + "'" + " AND QUESTAO.cod_questao = ALTERNATIVA.cod_questao";
cv1

…depois jogue todo esse codigo JDBC pra fora do Servlet, e use PreparedStatements da proxima vez. Aproveite pra ler sobre SQL Injection, tambem.

L

bem, o código:
sql = “SELECT DISTINCT(descricao_questao), alternativa FROM QUESTAO, ALTERNATIVA” +
" WHERE assunto=’" + assunto + “’” + " AND QUESTAO.cod_questao = ALTERNATIVA.cod_questao";

Não deu certo… não consegui consultar…
Se alguém puder me ajudar…

S

a depender do banco vc pode fazer uma subselect para retornar
a descricao somente 1 vez e retornar suas alternativas,mas se for um banco limitado
vc pode fazer esse tratamento dentro da aplicação mesmo,ou seja,uma outra consulta dentro do while.

Criado 15 de janeiro de 2005
Ultima resposta 17 de jan. de 2005
Respostas 4
Participantes 4