Olá pessoal,
Estou passando por um problema no desenvolvimento do meu sistema. Vejam o erro que retorna:
[quote]java.lang.NullPointerException
at org.postgresql.jdbc2.ResultSet.getString(ResultSet.java:148)
at org.postgresql.jdbc2.ResultSet.getString(ResultSet.java:531)
at dedao_ponto_util.verificaES(dedao_ponto_util.java:257)
at dedao_ponto_util.registroPonto(dedao_ponto_util.java:229)
at dedao_ponto_util.identify(dedao_ponto_util.java:181)
at dedao_ponto_util.processImage(dedao_ponto_util.java:123)
at dedao_ponto_util.onImageAcquired(dedao_ponto_util.java:112)
at com.griaule.grfingerjava.GrFingerJavaNative.callbackImage(GrFingerJavaNative.java:148)
[/quote]
Vou explicar o que a rotina faz. Ele faz uma busca no banco de dados pra saber qual foi a ultima ação do usuário, se ele entrou ou saiu. Se o usuário nunca fez nenhuma ação, ele não vai ter nada gravado no banco de dados, e acontece isso. da esse erro de null. Eu não consigo tratar isso, veja o if:
try {
// Verifica qual foi a ultima acao do funcionario
// E - Entrada
// S - Saida
PreparedStatement ps_tipo = conexao.conn.prepareStatement("SELECT * FROM dedao.ponto WHERE cadf_codigo = ? ORDER BY pon_codigo ASC");
ps_tipo.setInt(1,codigo);
ResultSet rs = ps_tipo.executeQuery();
rs.last();
if (rs.getString("pon_tipo").equalsIgnoreCase("E") && rs.getString("pon_codigo") != null)
retorno = "S";
else
retorno = "E";
} catch (SQLException ex) {
ex.printStackTrace();
} catch (NullPointerException ex) {
ex.printStackTrace();
}
Eu não sei como fazer!! Alguém poderia me ajudar?
Obrigado.