SQL + Java.lang.NullPointerException

7 respostas
andrelrm

Olá Senhores,

Estou com o seguinte problema. Após rodar uma query um dos meus campos retorna null, até ai tudo bem estou tentando fazer o tratamento da seguinte forma:

String dscEscolaridade = (String) (rs.getString(“DSC_ESCOLARIDADE”).equals(null)?"":rs.getString(“DSC_ESCOLARIDADE”));

para quem não entende este código, o mesmo é similar ao if

if (xxx.null)

dscEscolaridade = “”;

else

dscEscolaridade = rs.getString

A conexão está ok, url = “jdbc:odbc:DB_ESCOLA”, ou seja está tudo bem até chegar ao código acima.

Como faço o tratamento de um campo com o valor null oriundo de uma query?

Erro: url = java.lang.NullPointerException

desde já

obrigado.

7 Respostas

T

Em vez de

String dscEscolaridade = (String) (rs.getString("DSC_ESCOLARIDADE").equals(null)?"":rs.getString("DSC_ESCOLARIDADE"));

use:

String dscEscolaridade = rs.getString ("DSC_ESCOLARIDADE");
if (dscEscolaridade == null) dscEscolaridade = "";

Ou melhor ainda, como essa situação provavelmente se repete no seu código, use algo como:

public static String ifNullEmpty (String s) {
    if (s == null) return ""; else return s;
}
...
String dscEscolaridade = ifNullEmpty (rs.getString ("DSC_ESCOLARIDADE"));
andrelrm

Estes códigos já foram tentados. Na verdade o problema tem origem quando eu pego o valor rs.getString(“VALORQUALQUER”) e atribuo em um campo qualquer. Por que há esse proglema? alguém sabe?

André Luiz

andrelrm

Galera existe um tratamento para o null?

André Luiz

B

Como assim?

if (objeto == null)não serve?

andrelrm

Serve sim, porém eu ja mudei tanto este código que já estou até com dor de cabeça.

Agora ficou assim:

dscDocumentos   = (dscDocumentos==null?"":dscDocumentos);
		dscEscolaridade = (dscEscolaridade==null?"":dscEscolaridade);

está funcionando até o presente momento.

André Luiz

andrelrm

Vou sair um momento, tenho que reiniciar. Já volto.

obrigado pela ajuda.

André Luiz

andrelrm

Ó código funcionou corretamente fazendo desta forma

String dscDocumentos = rs.getString(“DSC_DOCUMENTOS”); pegar o dado do banco e colocar em uma variável

dscDocumentos = (dscDocumentos==null?"":dscDocumentos); testar o null

c.setDocumentos(dscDocumentos); colocar no objeto

André Luiz

Criado 4 de junho de 2008
Ultima resposta 4 de jun. de 2008
Respostas 7
Participantes 3