Return from database values

Asked

Viewed 79 times

0

have two variables:

Int id;

String Produto;

I want to fill the variable "id" with the corresponding value of the "product",. The data is collected directly from the database.

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();
    }
  • 1

    Hello! Is there an error? What is your difficulty? Explain in the question.

  • You didn’t make the mistake clear. Is the fact that everything is coming from the bank? Explain in question and add the information from that bank record, as it is stored there.

  • Well, I am not able to return the values of the bank grape this registered with id, name. quantity and value. I want to return these values in the printer variables.

1 answer

0

You have recovered data from an object that has not received 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);
}
  • EXIT :uva Exception in thread "main" java.lang.Nosuchmethoced: Model.dao.productDAO.RS(Ljava/lang/String;)Lmodel/bean/Product; at test.testRS.main(testRS.java:31) C: Users JPS Appdata Local Netbeans Cache 8.2 executor-snippets run.xml:53: Java returned: 1 BUILD FAILURE (total time: 6 seconds)

  • By the log, you changed the file but did not recompile the project, so it gives error Nosuchmethoderror. Recompile and then try to run again.

  • You can take a look at my project! https://github.com/jozivam/Sistema-Java

Browser other questions tagged

You are not signed in. Login or sign up in order to post.