Utilizar dados que estão no banco de dados

4 respostas
R

Estou criando um Quiz.
Consegui criar a tela para criar as perguntas, esta gravando no banco de dados tudo certo.
Só que agora vou fazer o “jogo” em si, portanto teria que pegar uma pergunta que está guardada no banco e retornar para a tela, como faço essa consulta no banco?ResultSet?

Aqui minha idéia não sei como faço o retorno, a id ta 1 por enquanto mas depois vou colocar aleatória,

4 Respostas

fiaux
rs.getAlgumaCoisa("NOME_DA_COLUNA")

Esse getAlgumaCoisa seria uma das opções da interface ResultSet, sendo do tipo Java mapeado para o tipo da coluna a qual você quer pegar o valor. Daí você seta na sua classe.

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/ResultSet.html

R

Ta blza só que agora ta dando um erro, só que não consigo entender porque.

Esse método esta na classe PerguntaDAO.java

public Pergunta seleciona() throws SQLException{
        
        PreparedStatement stmt = this.connection.prepareStatement("select * from quiz where id = ?");
        stmt.setInt(1, 1);
        ResultSet rs = stmt.executeQuery();
        
        Pergunta pergunta = new Pergunta();
        
        while(rs.next()){
            pergunta.setPergunta(rs.getString("pergunta"));
            pergunta.setAlternativa1(rs.getString("alternativa1"));
            pergunta.setAlternativa2(rs.getString("alternativa2"));
            pergunta.setAlternativa3(rs.getString("alternativa3"));
            pergunta.setAlternativa4(rs.getString("alternativa4"));
            pergunta.setCorreta(rs.getInt("correta"));
              }
        return pergunta;   
    }

Ai na classe Quiz.java, ele dá erro na hora de inicializar o formulário.

public Quiz() throws SQLException {
        initComponents();
        start(dao.seleciona());
    }
    
        int resposta;
        int correta;
        PerguntaDAO dao = new PerguntaDAO();

     private void start(Pergunta pergunta) {
        lbPergunta.setText(pergunta.getPergunta());   
        jRadioButton1.setText(pergunta.getAlternativa1());
        jRadioButton2.setText(pergunta.getAlternativa2());
        jRadioButton3.setText(pergunta.getAlternativa3());
        jRadioButton4.setText(pergunta.getAlternativa4());
        this.correta = pergunta.getCorreta();
    }

.... Mais código....

Este erro:

R

Problema ali em cima resolvido, agora só uma duvida.
Por exemplo em uma array o laço for é assim counter < array.lenght (para não exceder o limite), tem algo do tipo para banco de dados?
Tipo no bd tem um campo id com auto increment estou usando o random assim :
int aleatorio = random.nextInt(4);
só que se for inseridas mais perguntas teria que mudar o código também.

B

Você quer saber qual o número de perguntas no banco?

select count(id) from quiz
Criado 19 de junho de 2008
Ultima resposta 20 de jun. de 2008
Respostas 4
Participantes 3