Setando valor NULL no oracle para campo long

3 respostas
insonix

Boa tarde.
Estou tentando setar NULL para um campo no oracle, porém quando seto, ele fica com o valor 0.
Quando eu faço o update manual, funciona.

O Código que estou usando está abaixo:

statement.setString(1, localEstoqueVO.getSituacao());
if (localEstoqueVO.getCdEmpres() != 0) {
	statement.setLong(2, localEstoqueVO.getCdEmpres());
} else {
	statement.setLong(2, Types.NULL);
}

Alguem saberia como deve ser o procedimento correto para setar NULL para um campo numérico?

Obrigado!

3 Respostas

nbluis

Não funciona simples assim ?

statement.setLong(2, null);
T

O correto é usar “setNull”:

statement.setString(1, localEstoqueVO.getSituacao());
if (localEstoqueVO.getCdEmpres() != 0) {
	statement.setLong(2, localEstoqueVO.getCdEmpres());
} else {
	statement.setLong(2, Types.BIGINT);
}
T

Desculpe, o correto é:

statement.setString(1, localEstoqueVO.getSituacao()); if (localEstoqueVO.getCdEmpres() != 0) { statement.setLong(2, localEstoqueVO.getCdEmpres()); } else { statement.setNull(2, Types.BIGINT); }

Criado 22 de abril de 2008
Ultima resposta 22 de abr. de 2008
Respostas 3
Participantes 3