GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

[Resolvido!] Preciso de ajuda para retornar uma consulta do banco de dados em um jTextfield

java
programação
Tags: #<Tag:0x00007f804338a980> #<Tag:0x00007f804338a840>

#1

public void actionPerformed(ActionEvent arg0) {

			try{
			Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sistemarfid?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&useTimezone=true&serverTimezone=UTC", "root", "12345");
			 
			 String sql = "select cod_barras from produto where cod_barras = ?";
			 
			 
			 PreparedStatement pstm = null;
			 ResultSet rs = null;
			
			
			 rs = pstm.executeQuery("select cod_produto, descricao from produto");
			 pstm = con.prepareStatement(sql);
			
			 while (rs.next()){
				 codigo_produto_rfid.setText(String.valueOf(rs.getInt(1)));
		
				 
			 }
			 
			 pstm.execute();
			 pstm.close();
 			 con.close();	 
			 
			 }catch (SQLException e){
        			
        			System.out.println (e);
        		}
        		catch (Exception e) {System.out.println (e);}	
		}
	});``

#2

Qual és el erro mi consagrado?


#3

O erro:

java.lang.NullPointerException


#4

A ordem de execução está errada, você esta primeiro executando a Query do PreparedStatement e depois recebendo ele da Conexão.
No momento da Query ele está nulo, troque a ordem para:

pstm = con.prepareStatement(sql);
rs = pstm.executeQuery(“select cod_produto, descricao from produto”);


#5

Fiz dessa maneira e deu certo! Obrigado a todos pela atenção!

Classe:

package Classes_conexao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import javax.swing.JOptionPane;

public class Function {

       Connection con = null;
       ResultSet rs = null;
       PreparedStatement ps = null;
       public ResultSet find(String s){
           try{
           con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sistemarfid?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&useTimezone=true&serverTimezone=UTC", "root", "12345");
           ps = con.prepareStatement("select * from produto where cod_barras = ?");
           ps.setString(1,s);
           rs = ps.executeQuery();
           }catch(Exception ex){
              JOptionPane.showMessageDialog(null, ex.getMessage());
           }
           return rs;
       }
       
   }

Botão:

public void actionPerformed(ActionEvent e) {

			 Function f = new Function();
			    ResultSet rs = null;
			    
			    rs = f.find(codigo_barras_rfid.getText());
			    try{
			      if(rs.next()){
			          codigo_produto_rfid.setText(rs.getString("cod_produto"));
			          descricao_produto_rfid.setText(rs.getString("descricao"));
			             
			      }  else{
			          JOptionPane.showMessageDialog(null, "Error");
			      }
			    }catch(Exception ex){
			           JOptionPane.showMessageDialog(null, ex.getMessage());
			            }
			
		}
	});