MVC(Método Pesquisar) CRUD[RESOLVIDO]

0 respostas
julianoVince

Estou com problema no método pesquisar do sistema:

public void pesquisarCarro(Carro carro){
         sql = "select cod_categoria, descricao, ano from carro where cod_carro = ?";
        try {
            PreparedStatement stmt = connection.prepareStatement(sql);
            stmt.setInt(1, carro.getCodCarro());
            ResultSet rs = stmt.executeQuery(); 
            if(rs.next()){  
              carro.setCodCategoria(rs.getInt("cod_categoria"));//Vai pro textField da view
              carro.setDescricao(rs.getString("descricao"));//Vai pro textField da view
              carro.setAno();//Vai pro textField da view [b](Não sei o que colocar aqui! Quebrei a cabeça, Fiz o método adicionar mais o pesquisar eu travei...)[/b]
            }
           stmt.close();
        } catch (SQLException e) {
            throw new RuntimeException("Erro no sql: " + e.getMessage());
        }
    }

view botão pesquisar

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        carro.setCodCarro(Integer.parseInt(jTxtCodigoCarro.getText()));
        carroController.pesquisarCarro(carro);

        jTxtCodigoCategoria.setText(carro.getDescricao());
        jTxtCodigoCategoria.setText(Integer.toString(carro.getCodCarro()));
        jTxtCodigoCarro.setText(Integer.toString(carro.getCodCarro()));
        jTxtAnoVeiculo.setText(carro.getAno());//Eu sei que esta faltando... mais preciso de ajuda aqui na view(Estava pedindo para converte de Date para String)
    }

Obs: O controller a conexão estão blz, evitei colocar. Porque eu atrapalhei com as datas essa que foi verdade, não sei fazer um método de pesquisar(Não sei receber um Tipo Date ou int, Fazia sempre recebendo um tipo String). O de adicionar eu fiz só que nem sei se está 100%(1) gostaria de ajuda de alguém que entenda bem. Porque procurei na faculdade meu professor ele indico fazer com uma string e não usar Date.(Mais uma coisa: Tem que ser feito jdbc, PreparedStatement, ResultSet)

1- DAO

public void adiciona(Carro carro) {
        sql = "insert into carro (descricao,ano, cod_categoria)values(?,?,?);";
        try {           
            PreparedStatement stmt = connection.prepareStatement(sql);
            stmt.setString(1, carro.getDescricao());
            stmt.setDate(2,  new java.sql.Date(carro.getAno().getTime()));//Fiz essa parte seguindo um artigo não sei se essa e melhor maneira de fazer
            stmt.setInt(3, carro.getCodCategoria());
            stmt.execute();
            stmt.close();
        } catch (SQLException e) {
            throw new RuntimeException("Erro ao executar sql: " + e.getMessage());
        }
    }

view

carro.setDescricao(jTxtDescricao.getText());
            carro.setAno(carro.converte(jTxtAnoVeiculo.getText())); Método modelo que recebe a String e converte para Date(Fiz essa parte seguindo um artigo não se e a melhor forma de fazer)
            carro.setCodCategoria(Integer.parseInt(jTxtCodigoCategoria.getText()));
            carroController.adicionaCarro(carro);
            JOptionPane.showMessageDialog(null, "Carro cadastrado com Sucesso!");

Resolvi Sozinho mesmo :slight_smile:

Criado 29 de maio de 2013
Respostas 0
Participantes 1