Buscar dados pelo select atravez de um dado so

2 respostas
J

Oi, preciso de ajuda
Estou fazendo um botão pesquisar, que quando eu coloco o codigo de um produto num text “codigo” e clico no botão pesquisar, ele busca no banco de dados o campo nome, que é o nome deste produto, e coloca esta informação num outro text, o descrição. Fazendo assim dá certo.

private void btnPesquisarMatListMouseClicked(java.awt.event.MouseEvent evt) {                                                 
         try {
                DriverManager.registerDriver(new com.mysql.jdbc.Driver());
                conn = DriverManager.getConnection(str_conn, usuario, senha);
                stmt = conn.createStatement();
        // Seleção dos dados da pesquisa
                String sql = "SELECT Nome FROM Materiais WHERE Cod_Material = ?";
                PreparedStatement pstmt = conn.prepareStatement(sql);
                pstmt.setString(1, txtCodKitMat.getText());
                ResultSet rs = pstmt.executeQuery();
                while (rs.next()) {
                    txtDescricaoOrcamento.setText(rs.getString("Nome"));
                    
                    }
                pstmt.close();
                stmt.close();
                conn.close();
               } catch (Exception ex) {
               JOptionPane.showMessageDialog(null, "Erro (" + ex + ") ao conectar ao banco de dados, entre em contato com o Administrador!");
            
    }
    }

Mas como eu puxo o campo “valor” do banco, e jogo no text “Valor unitario”, tambem atraves do text codigo?
Tentei fazer assim mas não deu certo:

private void btnPesquisarMatListMouseClicked(java.awt.event.MouseEvent evt) {                                                 
         try {
                DriverManager.registerDriver(new com.mysql.jdbc.Driver());
                conn = DriverManager.getConnection(str_conn, usuario, senha);
                stmt = conn.createStatement();
        // Seleção dos dados da pesquisa
                String sql = "SELECT Nome,Valor_Compra FROM Materiais WHERE Cod_Material = ?";
                PreparedStatement pstmt = conn.prepareStatement(sql);
                pstmt.setString(1, txtCodKitMat.getText());
                pstmt.setString(2, txtCodKitMat.getText());
                ResultSet rs = pstmt.executeQuery();
                while (rs.next()) {
                    txtDescricaoOrcamento.setText(rs.getString("Nome"));
                    txtValoOrcamento.setText(rs.getString("Valor_Compra"));
                    
                    }
                pstmt.close();
                stmt.close();
                conn.close();
               } catch (Exception ex) {
               JOptionPane.showMessageDialog(null, "Erro (" + ex + ") ao conectar ao banco de dados, entre em contato com o Administrador!");
            
    }
    }

2 Respostas

Rafael_Carneiro

Deu algum erro? Voce verificou se a consulta retorna alguma tupla?

J

Problema resolvido, valeu. O codigo fica assim:

private void btnPesquisarMatListMouseClicked(java.awt.event.MouseEvent evt) {                                                 

         try {
                DriverManager.registerDriver(new com.mysql.jdbc.Driver());
                conn = DriverManager.getConnection(str_conn, usuario, senha);
                stmt = conn.createStatement();
        // Seleção dos dados da pesquisa
                String sql = "SELECT * FROM Materiais WHERE Cod_Material = ?"; //seleciona todos
                PreparedStatement pstmt = conn.prepareStatement(sql);
                pstmt.setString(1, txtCodKitMat.getText());
                ResultSet rs = pstmt.executeQuery();
                while (rs.next()) {
                    txtDescricaoOrcamento.setText(rs.getString("Nome")); //Nome vai pra onde tem que ir
		    txtValUnitOrcamento.setText(rs.getString("Valor_Compra")); //Preço vai pra onde tem que ir
                    }
                pstmt.close();
                stmt.close();
                conn.close();
               } catch (Exception ex) {
               JOptionPane.showMessageDialog(null, "Erro (" + ex + ") ao conectar ao banco de dados, entre em contato com o Administrador!");

    }
Criado 8 de junho de 2010
Ultima resposta 8 de jun. de 2010
Respostas 2
Participantes 2