[quote=Pacato]Oi Nicolas tudo bom?
Funciona a query certinho… mas uma das minhas intenções é esse retorno nulo, onde vejo que o registro não está gravado no BD, assim chamo para fazer um update no registro…
Só que quando vem nulo não sei tratar no result set[/quote]
Pera, pera…
Deixa eu ver se entendi direito:
Você faz uma consulta em cima de um registro. Se o campo X estiver vazio, você não faz nada, se não, atualiza, é isso?
Se for, eu acho que vale a pena você fazer a consulta dos seus dados e colocá-los em uma coleção.
Daí você itera na coleção e verifica isso, pra ficar mais “entendível”, sabe?
Por exemplo (chamei sua classe POJO de Telecom, porque não sei como você a nomeou):
- Você faz a sua consulta:
[code]public List recuperarDados() throws SQLException {
String sentenca = “MONTA SUA CONSULTA”;
PreparedStatement statement = connection.prepareStatement(sentenca);
ResultSet result = statement.executeQuery();
List<Telecom> telecoms = new ArrayList<Telecom>();
while (result.next()) {
Telecom telecom = new Telecom();
//
// Se o campo numSIMCard for string, você pode fazer assim:
if (result.getString("numSIMCard") != null && !result.getString("numSIMCard").equals(""))
telecom.setNumSIMCard(result.getString("numSIMCard"));
else
telecom.setNumSIMCard("");
//
// Agora, se for inteiro, pode fazer assim:
if (result.getInt("numSIMCard") != null && result.getInt("numSIMCard") != 0)
telecom.setNumSIMCard(result.getInt("numSIMCard"));
else
telecom.setNumSIMCard(-1);
telecoms.add(telecom);
}
result.close();
return telecoms;
}[/code]
- Você já deve ter o método UPDATE pronto. Logo, você itera na sua lista e verifica se o campo tá vazio ou não:
[code]TelecomDAO telecomDAO = new TelecomDAO();
List telecoms = telecomDAO.recuperarDados();
for (Telecom telecom : telecoms) {
// se for string...
if (!telecom.getNumSIMCard().equals("")) {
telecomDAO.update(telecom);
}
// se for inteiro...
if (telecom.getNumSIMCard() != -1) {
telecomDAO.update(telecom);
}
}
[/code]
Que tal?
Tenta essa panorâmica, e debuga o seu código, vendo os objetos que foram montados, analisando os valores retornados. Assim você pode ter um parecer pra gente!
Abraços!