Perdendo valor de uma variavel

2 respostas
fmduque

Estou perdendo o valor da variavel depois que termino de executar o else. pq isso acontece? Se eu imprimir o valor da variavel dentro do else, funciona se não da erro.

rs = e.getPergunta();
if(!rs.next()){
	out.print("Nenhuma pergunta.");
	}
	else{
		rs.first();
		int cd= rs.getInt("cd");
		out.print(cd); // da certo
      }
out.print(cd); // da erro

2 Respostas

Leandro_Rangel_Santo

pq vc não pode acessar o cd fora do else ,ele foi definido dentro do bloco ,e seu escopo é só aquele

leonardom

fmduque, isso acontece porque a variavel cd só existe dentro do escopo if { }. Se vc quer utiliza-la fora deste escopo vc deve defini-la fora. Defina essa variavel antes do if:

rs = e.getPergunta();
int cd = 0;
if(!rs.next())
{
    out.print("Nenhuma pergunta.");
}
else
{
    rs.first();
    cd= rs.getInt("cd");
    out.print(cd);
}
out.print(cd);
Criado 9 de março de 2004
Ultima resposta 9 de mar. de 2004
Respostas 2
Participantes 3