estou fazendo uma aplicação de avaliação, onde existe um banco de dados com algumas perguntas e respostas. O aluno deverá responder 20 questões. Tenho que escolher 20 das X existentes e fazer com que outro aluno ao mesmo tempo tb faça a prova, sendo que as perguntas até podem ser iguais, mas em posições diferentes.
Se alguém puder me dar umas dicas eu agradeço e muito.
Use prepared statements para fazer um select randômico. Colocar tudo num transaction também cai bem.
connection.setAutoCommit( false );
for( int i = 0; i < PERGUNTAS_POR_PROVA; i++ )
{
PreparedStatement ps = connection.prepareStatement( "SELECT Pergunta from tPerguntas WHERE IDpergunta = ?" )
int random = ... // saiba o numero maximo de perguntas e faça um
// random entre 1 e ele
ps.setInt( 1, random );
ResultSet rs = ps.executeQuery();
}
connection.commit();
connection.setAutoCommit( true );
Bem mais ou menos isso, não testei, e o lance ali do result set não serve para o que você precisa, mas já dá para ter uma ideia.