Problema objeto acesso BD

6 respostas
AlencarCanton

E ae galera,
olha só,dentro de um método que tenho pra controle de estoque eu tenho esse 'if' :

if ((varVerifica3.equals(idProd) && !Licitado.equals("Sim"))){
                                                                               

                                    dbAcess sql2 = new dbAcess();
                                    pstm = (PreparedStatement) sql2.conectar().prepareStatement(AlteraEstoque);
                                    pstm.setDate(1,estoque.getData());
                                    pstm.setInt(2,estoque.getQuantidade());
                                    pstm.setFloat(3,estoque.getValorUnitario());
                                    pstm.setFloat(4,estoque.getValorTotal());
                                    pstm.setString(5,estoque.getLicitado());
                                    pstm.setInt(6,estoque.getQuantidadeDisponivel());
                                    pstm.setString(7,estoque.getTipo());
                                    pstm.setInt(8,estoque.getIdEstoque());
                                    pstm.setString(9,Licitado);
                                    pstm.executeUpdate();
                                    sql2.desconectar();
                                    System.out.println("tei2");

                                    }

Eu tenho certeza que ele entra nesse 'if' pelos testes que fiz mas ele simplismente não altera no banco.Ja testei essa consulta "AlteraEstoque" no banco e alterou normal,a conexao com o banco tb está funcionando para todas os outros métodos,acho que fiz algo errado com o objeto de conexao com o bd,olha aí pra mim!
vlw pela atenção!

6 Respostas

drsmachado

Como está a query AlteraEstoque (cujo nome está incorreto, por ser uma variável, deve estar com a primeira letra minúscula)?

jweibe

AlencarCanton posta seu sql ai.

AlencarCanton

é,devia estar minúscula mesmo
=D
vlw

private String alteraEstoque = “UPDATE estoque SET Data=?,Quantidade=?,ValorUnitario=?,ValorTotal=?,Licitado=?,QuantidadeDisponivel=?,Tipo=? where IdProduto=? and Licitado=?”;

ja testei esse sql no query,e alterou certo…
tb ja mandei imprimir na tela todos os dados q vao aí para ser inseridos,pra ver se as “?” estavam sendo preenchidas com o conteudo certo e tava tudo normal…
ele n gera exceção nenhuma e simplismente n altera

A

Olá.

Eu checaria dois detalhes:
1 - a conexão com o banco está commitanto automaticamente o update? Particularmente prefiro fazer isso implicitamente (pra ter o controle da operação na mão);

2 - o registro que vai ser atualizado é filtrado por dois campos, e um deles é caracter… O valor que você passa como parâmetro para esse campo bate exatamente com o que está gravado no banco, inclusive entre maiúsculas e minúsculas? Esse é o tipo de coisa que pode ser resolvido passando os dois pra uma coisa só, algo do tipo:

… lembrando que lower() ou upper() podem ter chamadas diferentes, dependendo do SGBD

AlencarCanton

opa,
parece q eu descobri oq q é
só que agora ta aparecendo essa exceção:

Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: bean/EstoqueBean

só q eu tenho certeza e ja conferi,a classe está lá sim
qq aconteceu?

AlencarCanton

AlencarCanton:
opa,
parece q eu descobri oq q é
só que agora ta aparecendo essa exceção:

Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: bean/EstoqueBean

só q eu tenho certeza e ja conferi,a classe está lá sim
qq aconteceu?

Resolvi os dois problemas,
o primeiro o erro estava aqui
pstm.setInt(8,estoque.getIdEstoque());
era pra ser o Id do produto, não do registro de estoque.

e pra resolver esse bug do segundo eu tive q deletar a classe e cria ela de novo,
vlw aí!
abraço!

RESOLVIDO.

Criado 17 de maio de 2011
Ultima resposta 17 de mai. de 2011
Respostas 6
Participantes 4