Return from database values

0

I have two variables:

Int id;

String Produto;

I want to fill in the variable "id" with the corresponding "product" value. The data is collected directly from the bank.

public static void main(String[]args){
    connectionBancoDados con = new connectionBancoDados();
    produtoDAO dao  = new produtoDAO();
    Produto bean = new Produto();

        int id = 0;
        String prod = null;
        int quantidade = 0;
        double valor = 0;

        Scanner x = new Scanner(System.in);
        System.out.println("PRODUTO: "+x);
        prod = x.nextLine();

        if (dao.CHECKPRODUTO(prod)) {

            id          = bean.getId();
            prod        = bean.getProduto(prod);
            quantidade  = bean.getQuantidade();
            valor       = bean.getValor();

        System.out.println("ID: "+id);
        System.out.println("PRODUTO: "+prod);
        System.out.println("QUANTIDADE: "+quantidade);
        System.out.println("VALOR: "+valor);
        }else{
            System.out.println("Iten nao cadastrado");
        }
    }

EXIT

uva
ID: 0

PRODUTO: null

QUANTIDADE: 0

VALOR: 0.0

DAO RS

 public List<Produto> RST(String produto){//Pesquisar
        Connection con = connectionBancoDados.getConnection();
        PreparedStatement stmt = null;
        ResultSet rs = null;

        List<Produto> produtos = new ArrayList<>();

        try {
            stmt = con.prepareStatement("SELECT id, produto, quantidade, valor FROM produto WHERE produto=?");
            stmt.setObject(1, produto);


            rs = stmt.executeQuery();//faz consulta noo banco e coloca no resultSet

                while(rs.next()){
                    Produto pro = new Produto();

                    pro.setId(rs.getInt(1));
                    pro.setProduto(rs.getString(2));
                    pro.setValor(rs.getDouble(3));
                    pro.setQuantidade(rs.getInt(4));
                    produtos.add(pro);
                }

        } catch (SQLException ex) {
            Logger.getLogger(produtoDAO.class.getName()).log(Level.SEVERE, null, ex);
        }finally{
            connectionBancoDados.closeConnetion(con, stmt, rs);
        }

        return produtos;
    }

BEAN

private int id;
    private String produto;
    private double valor;
    private int quantidade;



    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getProduto() {
        return produto;
    }

    public void setProduto(String produto) {
        this.produto = produto;
    }

    public double getValor() {
        return valor;
    }

    public void setValor(double valor) {
        this.valor = valor;
    }

    public int getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }


    @Override
    public String toString() {
        return getProduto();
    }
    public Object getId(String id) {
        return getId();
    }
    public String getProduto(String produto) {
        return getProduto();
    }
    public Object getQuantidade(String quantidade) {
        return getQuantidade();
    }
    public Object getValor(String valor) {
        return getValor();
    }
    
asked by anonymous 28.06.2018 / 16:56

1 answer

0

You have recovered the data from an object that did not receive the result of your query to the database:

Produto bean = new Produto();
[...]

if (dao.CHECKPRODUTO(prod)) {
    id          = bean.getId();
    prod        = bean.getProduto(prod);
    quantidade  = bean.getQuantidade();
    valor       = bean.getValor();

    System.out.println("ID: "+id);
    System.out.println("PRODUTO: "+prod);
    System.out.println("QUANTIDADE: "+quantidade);
    System.out.println("VALOR: "+valor);

If you want to print the result returned by DAO, assign to some variable the value returned by the product recovery method and then print this variable:

// Aqui você troca recuperaProduto pelo nome do seu método no DAO.
bean = dao.recuperaProduto(prod);
if (bean != null) {
    id          = bean.getId();
    prod        = bean.getProduto(prod);
    quantidade  = bean.getQuantidade();
    valor       = bean.getValor();

    System.out.println("ID: "+id);
    System.out.println("PRODUTO: "+prod);
    System.out.println("QUANTIDADE: "+quantidade);
    System.out.println("VALOR: "+valor);
}
    
28.06.2018 / 19:59