Galera estou tendo um problema sinistro aqui.
Meu código abaixo, executa sem problema. Já verifiquei via Profile no SQL Server e a operação está acontecendo corretamente.
Só que quando eu altero ou insiro um usuário, utilizando PreparadStatement não funciona, e com Statement funciona.
Só para esclarecer, o método getPreparedStatement(str) retorna um PreparedStatement.
Preciso da ajuda de vcs para conseguir enxergar o meu erro.
VLW.
try {
conectaBanco.getConectaBanco();
String str;
PreparedStatement pStm;
if (cadastrarOuAtualizarUsuario.getId() == -1) {
str = "insert into usuario(usuario,senha,tipo,nomecompleto) values (?,?,?,?)";
pStm = conectaBanco.getPreparedStatement(str);
pStm.setString(1,cadastrarOuAtualizarUsuario.getUsuario());
pStm.setString(2,cadastrarOuAtualizarUsuario.getSenha());
pStm.setString(3,cadastrarOuAtualizarUsuario.getTipo());
pStm.setString(4,cadastrarOuAtualizarUsuario.getNomeCompleto());
}
else {
str = "update usuario " +
"set usuario = ?" +
",senha = ?" +
",tipo = ?" +
",nomecompleto = ?" +
" where idusuario = ?";
pStm = conectaBanco.getPreparedStatement(str);
pStm.setString(1,cadastrarOuAtualizarUsuario.getUsuario());
pStm.setString(2,cadastrarOuAtualizarUsuario.getSenha());
pStm.setString(3,cadastrarOuAtualizarUsuario.getTipo());
pStm.setString(4,cadastrarOuAtualizarUsuario.getNomeCompleto());
pStm.setInt(5,cadastrarOuAtualizarUsuario.getId());
}
pStm.executeUpdate();
return 1;
}
catch (Exception e) {
e.printStackTrace();
} finally {
conectaBanco.encerraConexao();
}
return 0;