Boa tarde
meu sistema ele gera a venda normal
mas ele mostra um erro, sera que devo ignorar como esta funcionando normal?
Eis a questao?
public void cadastrarItem_compra (Item_compra item_compra, int quantidadejt)
{
Connection conexao = ConnectionFactory.getConexao();
try{
boolean falta = false;
String pesquisaProduto = “select * from produto where id = ?”;
PreparedStatement pstmtP1 = conexao.prepareStatement(pesquisaProduto);
pstmtP1.setInt(1, item_compra.getId_produto());
ResultSet rsP = pstmtP1.executeQuery();
int qtdade_produto = 0;
while(rsP.next()){
qtdade_produto = rsP.getInt(“qtdade”);
qtdade_produto = qtdade_produto - quantidadejt;
if(qtdade_produto < 0){
JOptionPane.showMessageDialog(null, “Produto com estoque insuficiente!”);
falta = true;
}
}
if(!falta){
String abateProduto = "update produto set qtdade = ? where id = ?";
PreparedStatement pstmtP2 = conexao.prepareStatement(abateProduto);
pstmtP2.setInt(1, qtdade_produto);
pstmtP2.setInt(2, item_compra.getId_produto());
int alteracoesP = pstmtP2.executeUpdate();
int prox = 0;
if(alteracoesP !=1){
System.out.println("Houve um erro na alteração, tente novamente! Cadastrar itemcompra1 " +alteracoesP);
}else{
System.out.println("Produto alterado com sucesso!");
prox = 1;
}
if(prox == 1){
String verificaItens = "select * from item_compra where id_produto = ? and id_venda = ?";
PreparedStatement pstmt1 = conexao.prepareStatement(verificaItens);
pstmt1.setInt(1, item_compra.getId_produto());
pstmt1.setInt(2, item_compra.getId_venda());
ResultSet rs = pstmt1.executeQuery();
int cont = 0;
int qtdade = 0;
while(rs.next()){
cont++;
qtdade = rs.getInt("qtdade");
}
if(cont >= 1){
String updateItem = "update item_compra set qtdade = ? where id_produto = ? and id_venda = ?";
PreparedStatement pstmt2 = conexao.prepareStatement(updateItem);
qtdade = qtdade + item_compra.getQtdade();
pstmt2.setInt(1, qtdade);
pstmt2.setInt(2, item_compra.getId_produto());
pstmt2.setInt(3, item_compra.getId_venda());
int alteracoes = pstmt2.executeUpdate();
if(alteracoes!=1){
System.out.println("Houve um erro na alteração, tente novamente! Cadastrar itemcompra2");
}else{
System.out.println("Produto alterado com sucesso!");
}
pstmt1.close();
pstmt2.close();
}
if(cont == 0){
String cadastroItens = "Insert into item_compra (id_venda, qtdade, id_produto) values (?,?,?)";
PreparedStatement pstmt3 = conexao.prepareStatement(cadastroItens);
pstmt3.setInt(1, item_compra.getId_venda());
pstmt3.setInt(2, item_compra.getQtdade());
pstmt3.setInt(3, item_compra.getId_produto());
int resultado = pstmt3.executeUpdate();
if(resultado!=1){
System.out.println("Houve um erro na inserção, tente novamente!");
}else{
System.out.println("Produto inserido com sucesso!");
}
pstmt3.close();
}
}
pstmtP1.close();
pstmtP2.close();
}
}catch(SQLException e){
System.out.println("Ocorreu algum erro no banco de dados, tente novamente!");
while(e!=null){
System.out.println("Sql state: "+e.getSQLState());
System.out.println("Mensagem: "+e.getMessage());
System.out.println("Error code: "+e.getErrorCode());
e = e.getNextException();
}
}finally{
System.out.println("Encerrando conexão");
try{
conexao.close();
System.out.println("Conexão Terminada");
}catch(SQLException ex){
}
}
}
public List<Item_compra> listarItem_compra(String id_venda){
Connection conexao = ConnectionFactory.getConexao();
List<Item_compra> itens_compra = new ArrayList();
try{
String consultaProduto = "Select * from item_compra where id_venda = ?";
PreparedStatement pstmt = conexao.prepareStatement(consultaProduto);
pstmt.setString(1, id_venda);
ResultSet rs = pstmt.executeQuery();
Item_compra item_compra;
while(rs.next()){
item_compra = new Item_compra();
item_compra.setId(rs.getInt("id"));
item_compra.setId_venda(rs.getInt("id_venda"));
item_compra.setQtdade(rs.getInt("qtdade"));
item_compra.setId_produto(rs.getInt("id_produto"));
itens_compra.add(item_compra);
}
pstmt.close();
}catch(SQLException e){
System.out.println("Ocorreu algum erro no banco de dados, tente novamente!");
while(e!=null){
System.out.println("Sql state: "+e.getSQLState());
System.out.println("Mensagem: "+e.getMessage());
System.out.println("Error code: "+e.getErrorCode());
e = e.getNextException();
}
}finally{
System.out.println("Encerrando conexão");
try{
conexao.close();
System.out.println("Conexão Terminada");
}catch(SQLException ex){
}
}
return itens_compra;
}
ele retorna esse print de msg
Houve um erro na alteração, tente novamente! Cadastrar itemcompra1 0
Verifique a saída desta parte do código…provavelmente você está fazendo a verificação do número errado.
{
System.out.println(alteracoesP);
}
a saida é 0
zero
System.out.println("Houve um erro na alteração, tente novamente! Cadastrar itemcompra1 " +alteracoesP);
Houve um erro na alteração, tente novamente! Cadastrar itemcompra1 0
Se a saída é 0 a mensagem apresentada está correta segundo sua verificação…afinal 0 é diferente de 1…troca o valor na verificação e seja feliz.
O estranho é que passa os dois
if(!falta){
String abateProduto = "update produto set qtdade = ? where id = ?";
PreparedStatement pstmtP2 = conexao.prepareStatement(abateProduto);
pstmtP2.setInt(1, qtdade_produto);
pstmtP2.setInt(2, item_compra.getId_produto());
int alteracoesP = pstmtP2.executeUpdate();
int prox = 0;
if(alteracoesP!=1){
System.out.println("Houve um erro na alteração, tente novamente! erro " + alteracoesP);
}else{
System.out.println("Produto alterado com sucesso!");
prox = 1;
}
if(alteracoesP!=1){
System.out.println("Houve um erro na alteração, tente novamente! erro " + alteracoesP);
}else{
System.out.println("Produto alterado com sucesso!");
prox = 1;
}
mas se eu mudar de 1 para 0 o sistema não funciona
Só esse pedaço de código não ajuda muito para saber o que realmente acontece…é necessário debugar a aplicação a partir do ponto onde o processo é iniciado, só assim você saberá realmente o que está acontecendo no seu código.
Maks_Silva:
public void cadastrarItem_compra (Item_compra item_compra, int quantidadejt)
{
Connection conexao = ConnectionFactory.getConexao();
try{
boolean falta = false;
String pesquisaProduto = “select * from produto where id = ?”;
PreparedStatement pstmtP1 = conexao.prepareStatement(pesquisaProduto);
pstmtP1.setInt(1, item_compra.getId_produto());
ResultSet rsP = pstmtP1.executeQuery();
int qtdade_produto = 0;
while(rsP.next()){
qtdade_produto = rsP.getInt(“qtdade”);
qtdade_produto = qtdade_produto - quantidadejt;
if(qtdade_produto < 0){
JOptionPane.showMessageDialog(null, “Produto com estoque insuficiente!”);
falta = true;
}
}
if(!falta){
String abateProduto = "update produto set qtdade = ? where id = ?";
PreparedStatement pstmtP2 = conexao.prepareStatement(abateProduto);
pstmtP2.setInt(1, qtdade_produto);
pstmtP2.setInt(2, item_compra.getId_produto());
int alteracoesP = pstmtP2.executeUpdate();
int prox = 0;
if(alteracoesP !=1){
System.out.println("Houve um erro na alteração, tente novamente! Cadastrar itemcompra1 " +alteracoesP);
}else{
System.out.println("Produto alterado com sucesso!");
prox = 1;
}
if(prox == 1){
String verificaItens = "select * from item_compra where id_produto = ? and id_venda = ?";
PreparedStatement pstmt1 = conexao.prepareStatement(verificaItens);
pstmt1.setInt(1, item_compra.getId_produto());
pstmt1.setInt(2, item_compra.getId_venda());
ResultSet rs = pstmt1.executeQuery();
int cont = 0;
int qtdade = 0;
while(rs.next()){
cont++;
qtdade = rs.getInt("qtdade");
}
if(cont >= 1){
String updateItem = "update item_compra set qtdade = ? where id_produto = ? and id_venda = ?";
PreparedStatement pstmt2 = conexao.prepareStatement(updateItem);
qtdade = qtdade + item_compra.getQtdade();
pstmt2.setInt(1, qtdade);
pstmt2.setInt(2, item_compra.getId_produto());
pstmt2.setInt(3, item_compra.getId_venda());
int alteracoes = pstmt2.executeUpdate();
if(alteracoes!=1){
System.out.println("Houve um erro na alteração, tente novamente! Cadastrar itemcompra2");
}else{
System.out.println("Produto alterado com sucesso!");
}
pstmt1.close();
pstmt2.close();
}
if(cont == 0){
String cadastroItens = "Insert into item_compra (id_venda, qtdade, id_produto) values (?,?,?)";
PreparedStatement pstmt3 = conexao.prepareStatement(cadastroItens);
pstmt3.setInt(1, item_compra.getId_venda());
pstmt3.setInt(2, item_compra.getQtdade());
pstmt3.setInt(3, item_compra.getId_produto());
int resultado = pstmt3.executeUpdate();
if(resultado!=1){
System.out.println("Houve um erro na inserção, tente novamente!");
}else{
System.out.println("Produto inserido com sucesso!");
}
pstmt3.close();
}
}
pstmtP1.close();
pstmtP2.close();
}
}catch(SQLException e){
System.out.println("Ocorreu algum erro no banco de dados, tente novamente!");
while(e!=null){
System.out.println("Sql state: "+e.getSQLState());
System.out.println("Mensagem: "+e.getMessage());
System.out.println("Error code: "+e.getErrorCode());
e = e.getNextException();
}
}finally{
System.out.println("Encerrando conexão");
try{
conexao.close();
System.out.println("Conexão Terminada");
}catch(SQLException ex){
}
}
}
public List<Item_compra> listarItem_compra(String id_venda){
Connection conexao = ConnectionFactory.getConexao();
List<Item_compra> itens_compra = new ArrayList();
try{
String consultaProduto = “Select * from item_compra where id_venda = ?”;
PreparedStatement pstmt = conexao.prepareStatement(consultaProduto);
pstmt.setString(1, id_venda);
ResultSet rs = pstmt.executeQuery();
Item_compra item_compra;
while(rs.next()){
item_compra = new Item_compra();
item_compra.setId(rs.getInt(“id”));
item_compra.setId_venda(rs.getInt(“id_venda”));
item_compra.setQtdade(rs.getInt(“qtdade”));
item_compra.setId_produto(rs.getInt(“id_produto”));
itens_compra.add(item_compra);
}
pstmt.close();
}catch(SQLException e){
System.out.println("Ocorreu algum erro no banco de dados, tente novamente!");
while(e!=null){
System.out.println("Sql state: "+e.getSQLState());
System.out.println("Mensagem: "+e.getMessage());
System.out.println("Error code: "+e.getErrorCode());
e = e.getNextException();
}
}finally{
System.out.println("Encerrando conexão");
try{
conexao.close();
System.out.println("Conexão Terminada");
}catch(SQLException ex){
}
}
return itens_compra;
}
public void cadastrarItem_compra (Item_compra item_compra, int quantidadejt)
{
Connection conexao = ConnectionFactory.getConexao();
try{
boolean falta = false;
String pesquisaProduto = “select * from produto where id = ?”;
PreparedStatement pstmtP1 = conexao.prepareStatement(pesquisaProduto);
pstmtP1.setInt(1, item_compra.getId_produto());
ResultSet rsP = pstmtP1.executeQuery();
int qtdade_produto = 0;
while(rsP.next()){
qtdade_produto = rsP.getInt(“qtdade”);
qtdade_produto = qtdade_produto - quantidadejt;
if(qtdade_produto < 0){
JOptionPane.showMessageDialog(null, “Produto com estoque insuficiente!”);
falta = true;
}
}
if(!falta){
String abateProduto = "update produto set qtdade = ? where id = ?";
PreparedStatement pstmtP2 = conexao.prepareStatement(abateProduto);
pstmtP2.setInt(1, qtdade_produto);
pstmtP2.setInt(2, item_compra.getId_produto());
int alteracoesP = pstmtP2.executeUpdate();
int prox = 0;
if(alteracoesP !=1){
System.out.println("Houve um erro na alteração, tente novamente! Cadastrar itemcompra1 " +alteracoesP);
}else{
System.out.println("Produto alterado com sucesso!");
prox = 1;
}
if(prox == 1){
String verificaItens = "select * from item_compra where id_produto = ? and id_venda = ?";
PreparedStatement pstmt1 = conexao.prepareStatement(verificaItens);
pstmt1.setInt(1, item_compra.getId_produto());
pstmt1.setInt(2, item_compra.getId_venda());
ResultSet rs = pstmt1.executeQuery();
int cont = 0;
int qtdade = 0;
while(rs.next()){
cont++;
qtdade = rs.getInt("qtdade");
}
if(cont >= 1){
String updateItem = "update item_compra set qtdade = ? where id_produto = ? and id_venda = ?";
PreparedStatement pstmt2 = conexao.prepareStatement(updateItem);
qtdade = qtdade + item_compra.getQtdade();
pstmt2.setInt(1, qtdade);
pstmt2.setInt(2, item_compra.getId_produto());
pstmt2.setInt(3, item_compra.getId_venda());
int alteracoes = pstmt2.executeUpdate();
if(alteracoes!=1){
System.out.println("Houve um erro na alteração, tente novamente! Cadastrar itemcompra2");
}else{
System.out.println("Produto alterado com sucesso!");
}
pstmt1.close();
pstmt2.close();
}
if(cont == 0){
String cadastroItens = "Insert into item_compra (id_venda, qtdade, id_produto) values (?,?,?)";
PreparedStatement pstmt3 = conexao.prepareStatement(cadastroItens);
pstmt3.setInt(1, item_compra.getId_venda());
pstmt3.setInt(2, item_compra.getQtdade());
pstmt3.setInt(3, item_compra.getId_produto());
int resultado = pstmt3.executeUpdate();
if(resultado!=1){
System.out.println("Houve um erro na inserção, tente novamente!");
}else{
System.out.println("Produto inserido com sucesso!");
}
pstmt3.close();
}
}
pstmtP1.close();
pstmtP2.close();
}
}catch(SQLException e){
System.out.println("Ocorreu algum erro no banco de dados, tente novamente!");
while(e!=null){
System.out.println("Sql state: "+e.getSQLState());
System.out.println("Mensagem: "+e.getMessage());
System.out.println("Error code: "+e.getErrorCode());
e = e.getNextException();
}
}finally{
System.out.println("Encerrando conexão");
try{
conexao.close();
System.out.println("Conexão Terminada");
}catch(SQLException ex){
}
}
}
public List<Item_compra> listarItem_compra(String id_venda){
Connection conexao = ConnectionFactory.getConexao();
List<Item_compra> itens_compra = new ArrayList();
try{
String consultaProduto = “Select * from item_compra where id_venda = ?”;
PreparedStatement pstmt = conexao.prepareStatement(consultaProduto);
pstmt.setString(1, id_venda);
ResultSet rs = pstmt.executeQuery();
Item_compra item_compra;
while(rs.next()){
item_compra = new Item_compra();
item_compra.setId(rs.getInt(“id”));
item_compra.setId_venda(rs.getInt(“id_venda”));
item_compra.setQtdade(rs.getInt(“qtdade”));
item_compra.setId_produto(rs.getInt(“id_produto”));
itens_compra.add(item_compra);
}
pstmt.close();
}catch(SQLException e){
System.out.println("Ocorreu algum erro no banco de dados, tente novamente!");
while(e!=null){
System.out.println("Sql state: "+e.getSQLState());
System.out.println("Mensagem: "+e.getMessage());
System.out.println("Error code: "+e.getErrorCode());
e = e.getNextException();
}
}finally{
System.out.println("Encerrando conexão");
try{
conexao.close();
System.out.println("Conexão Terminada");
}catch(SQLException ex){
}
}
return itens_compra;
}