Bom dia senhores,abaixo estou postando uma classe que tem um crud nela.O que preciso é saber como identificar quando mandar deletar ou atualizar ou listar um produto, e não há este produto.
ex:delete from produto where id=1;
e se o codigo 1 não existir,como saberei?
/**
* Classe,que implementa a interface Dao_Produto
* implementando os metodos,está classe tem por finalidade
* trabalhar com a tabela produtos
*/
package br.com.oriom.CotacaoWeb.dao;
import br.com.oriom.CotacaoWeb.*;
import br.com.oriom.CotacaoWeb.bean.Produto_Bean;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
public class Dao_ProdutoImp implements Dao_Produto {
private Connection conexao;
public Dao_ProdutoImp() {
try {
this.conexao = Fabrica_Conexao.conexao();//classe statica que contem metodo,para conectar com o banco
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage(), "Oriom", JOptionPane.ERROR_MESSAGE);
} catch (ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage(), "Oriom", JOptionPane.ERROR_MESSAGE);
}
}
public void cadastraProduto(Produto_Bean produto) throws Exception {
Connection conex = null;
PreparedStatement pst = null;
if (produto == null) {
throw new Exception("Valor não pode ser nulo");
}
String query = "INSERT INTO produtos(produto,embalagem) VALUES(?,?)";
try {
conex = this.conexao;
pst = conex.prepareStatement(query);
pst.setString(1, produto.getDescricao_Produto());
pst.setString(2, produto.getEmbalagem_Produto());
pst.executeUpdate();
JOptionPane.showMessageDialog(null, "Cadastro efetuado", "Oriom", JOptionPane.INFORMATION_MESSAGE);
}catch(SQLException sql){
JOptionPane.showMessageDialog(null,sql.getMessage(), "Oriom", JOptionPane.ERROR_MESSAGE);
}
finally {
Fabrica_Conexao.close(conex, pst, null);
}
}
public List listaProdutoID(Produto_Bean produto) throws Exception {
Connection conex = null;
PreparedStatement pst = null;
ResultSet rst = null;
if (produto == null) {
throw new Exception("Valor não pode ser nulo");
}
String query = "SELECT * FROM produtos WHERE id_produto=?";
conex = this.conexao;
List<Produto_Bean> lista = new ArrayList<Produto_Bean>();
try {
pst = conex.prepareStatement(query);
pst.setInt(1, produto.getId_Produto());
rst = pst.executeQuery();
while (rst.next()) {
int codigo = rst.getInt(1);
String descricao = rst.getString(2);
String embalagem = rst.getString(3);
lista.add(new Produto_Bean(codigo, descricao, embalagem));
}
return lista;
} finally {
Fabrica_Conexao.close(conex, pst,rst);
}
}
public List listaProdutoDesc(Produto_Bean produto) throws Exception {
//metodo retorna uma lista de valores obtidos pela query
Connection conex = null;
PreparedStatement pst = null;
ResultSet rst = null;
if (produto == null) {
throw new Exception("Valor não pode ser nulo");
}
try {
//a pessoa tem que colocar o % antes do valor
String query = "SELECT * FROM produtos WHERE produto like ?";
conex = this.conexao;
List<Produto_Bean> lista = new ArrayList<Produto_Bean>();
pst = conex.prepareStatement(query);
pst.setString(1, produto.getDescricao_Produto());
rst = pst.executeQuery();
while (rst.next()) {
int codigo = rst.getInt(1);
String descricao = rst.getString(2);
String embalagem = rst.getString(3);
lista.add(new Produto_Bean(codigo, descricao, embalagem));
}
return lista;
}
finally {
Fabrica_Conexao.close(conex, pst,rst);
}
}
public void AtualizaProduto(Produto_Bean produto) throws Exception {
Connection conex = null;
PreparedStatement pst = null;
if (produto == null) {
throw new Exception("Valor não pode ser nulo");
}
try {
conex = this.conexao;
String query = "UPDATE produtos SET produto=?,embalagem=? WHERE id_produto=?";
pst = conex.prepareStatement(query);
pst.setString(1, produto.getDescricao_Produto());
pst.setString(2, produto.getEmbalagem_Produto());
pst.setInt(3, produto.getId_Produto());
pst.executeUpdate();
JOptionPane.showMessageDialog(null, "Registro atualizado com sucesso", "Oriom", JOptionPane.INFORMATION_MESSAGE);
}catch(SQLException sql){
JOptionPane.showMessageDialog(null,sql.getMessage(), "Oriom", JOptionPane.ERROR_MESSAGE);
}
finally {
Fabrica_Conexao.close(conex, pst, null);
}
}
public void deleteProduto(Produto_Bean produto) throws Exception {
Connection conex = null;
PreparedStatement pst = null;
if (produto == null) {
throw new Exception("Valor não pode ser nulo");
}
String query = "DELETE FROM produtos WHERE id_produto=?";
try {
conex = this.conexao;
pst = conex.prepareStatement(query);
pst.setInt(1, produto.getId_Produto());
pst.executeUpdate();
JOptionPane.showMessageDialog(null, "Deletado com sucesso", "Oriom", JOptionPane.INFORMATION_MESSAGE);
}catch(SQLException sql){
JOptionPane.showMessageDialog(null,sql.getMessage(), "Oriom", JOptionPane.ERROR_MESSAGE);
}
finally {
Fabrica_Conexao.close(conex, pst,null);
}
}
public List listaProdutos() throws SQLException {
//metodo retorna uma lista
String query = "SELECT * FROM produtos";
Connection conex = this.conexao;
PreparedStatement pst = null;
ResultSet rst = null;
try {
pst = conex.prepareStatement(query);
rst = pst.executeQuery();
List<Produto_Bean> lista = new ArrayList<Produto_Bean>();
// crio a lista para receber registros do bean Produtos_Bean
while (rst.next()) {
int codigo = rst.getInt(1);
String descricao = rst.getString(2);
String embalagem = rst.getString(3);
lista.add(new Produto_Bean(codigo, descricao, embalagem));
}
return lista;
} finally {
Fabrica_Conexao.close(conex, pst, rst);
}
}
}