comparação usando banco de dados

2 respostas
L

blz galera...

Estou tentando verificar no banco de dados se já existe o mês que eu estou querendo salvar no banco de dados.

Então estou fazendo o seguinte select:

select month(periodo),year(periodo) from tabela  
//ele me retorna varios registros para mim verificar se tem algum registro com mes e data igual aquela que estou querendo salvar no bd

mas quando eu faço o meu if que foi feito assim :

if(res.next()){//verificar se existe algo no banco de dados referente ao res

                if((res.getInt("month(periodo)")==mes)&&(res.getInt("year(periodo)")==ano))
                { JOptionPane.showMessageDialog(null,"ATENÇÃO!!!\n\n Mês "+mes+" já informado para este ano!","aviso",2);}//caso mes ja foi lançado

o problema é que eu não consigo verificar todos os registro que o select me retorna, ele esta verificando apenas o primeiro e comparando apenas com ele.

o que eu preciso saber é como executar esse if acima em todos os registro que o select me retornar para verificar se existe o mes e o ano ja lançado?

preciso comparar com todos e nao apenas o primeiro registro.

2 Respostas

L
o que eu preciso saber é como executar esse if acima em todos os registro que o select me retornar para verificar se existe o mes e o ano ja lançado?

preciso comparar com todos e nao apenas o primeiro registro.

Troque o if por while.

while(res.next()) {

}
CharlesAlves

Em vez de trazer todos os registros porque não tras somente o que está querendo verificar a existencia

select id from tabela where month(periodo) = ? and year(periodo) = ?;

e em vez de percorrer todos só verifica se o ResultSet obtido possui elementos

if(res.first()){ // Executa a função de alerta ao usuario ou coisa do tipo } else { // Insere o registro no banco }

Criado 13 de maio de 2013
Ultima resposta 15 de mai. de 2013
Respostas 2
Participantes 3