Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Não consigo preencher uma Jtable com dados do Banco

$
0
0

@JeffersonSousaa escreveu:

Eu não estou conseguindo gera minha Jtable com os dados do Banco(estou utilizando my Sql) se alguém poder me ajuda. Os códigos compilam normalmente mas na hora em que vou tentar rodar ele cai, os erros estão após os códigos e com asterisco (***) Espero que alguém possa me ajudar obrigado!!

classe de conexão:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConexaoBDcasa {
   static {
      try {
         Class.forName("com.mysql.jdbc.Driver");
      } 
      catch (ClassNotFoundException e) {
         throw new RuntimeException(e);
      }
   }
   public Connection conectarr() throws SQLException {
      String servidor = "localhost";
      String porta = "3306";
      String database = "tutorial";
      String usuario = "root";
      String senha = "157157";
      return DriverManager
         	.getConnection("jdbc:mysql://"+servidor+":"+porta+
            "/"+database+"?user="+usuario+"&password="+senha);
   }
   public static void desconectar(Connection conn) throws SQLException {
      conn.close();
   }
}

Classe do meu objeto :

 import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
//import java.util.Date;
public class TabelaRankingDeParticipacao{
   private int id,posicao,sugestoesE;
   private String nome;
   public TabelaRankingDeParticipacao() {
   }
   public TabelaRankingDeParticipacao(int id) {
      this.id = id;
   }
   public TabelaRankingDeParticipacao(int id, int Posicao, String nome, int sugestoesE) {
      this.id = id;
      this.posicao = posicao;
      this.nome = nome;
      this.sugestoesE = sugestoesE;
   }
   public int getId() {
      return id;
   }
   public void setId(int id) {
      this.id = id;
   }
      public int getPosicao() {
      return posicao;
   }
   public void setPosicao(int posicao) {
      this.posicao = posicao;
   }
   public String getNome() {
      return nome;
   }
   public void setNome(String nome) {
      this.nome = nome;
   }
   public int getSugestoesE() {
      return sugestoesE;
   }
   public void setSugestoesE(int sugestoesE) {
      this.sugestoesE = sugestoesE;
   }
   public ArrayList<TabelaRankingDeParticipacao> select(Connection conn) {
      String sqlSelect = "select * from RankingDeParticipacao order by sugestoesenviadas desc";
      ArrayList<TabelaRankingDeParticipacao> lista = new ArrayList<>(); 
      try (PreparedStatement stm = conn.prepareStatement(sqlSelect);
         ResultSet rs = stm.executeQuery();) {
         while(rs.next()){
            TabelaRankingDeParticipacao trp = new TabelaRankingDeParticipacao();
            trp.setId(rs.getInt(1));
            trp.setPosicao(rs.getInt(2));
            trp.setNome(rs.getString(3));
            trp.setSugestoesE(rs.getInt(4));
            lista.add(trp);
         }        
      } 
      catch (Exception e) {
         e.printStackTrace();
      }
      return lista;
   } 
   @Override
   public String toString() {
      return "Pedido [id=" + id + ", nome=" + nome + ", sugestõesEnviadas=" + sugestoesE + "]";
   }
}

Classe da tabela:

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.BorderLayout;
import java.sql.Connection;
import java.util.ArrayList;
import java.sql.*;
public class TelaTb extends JFrame{
   private Connection conn;
   private String[] colunas = {"Id", "Posição", "Nome do Colaborador","Sugestoes Enviadas"};
   private Object[][] pedidos;
   private JTable tabela;
   private JPanel pnlCentro;
   private Container caixa;
   private JScrollPane rolagem;
   public TelaTb(Connection conn){
      super("Sistema de Sugestões");
      //VETOR DE OBJETOS RECEBENDO O METODO   
      pedidos = carregaDados(conn);
      //JTABLE RECEBENDO PARAMETROS
      tabela = new JTable(pedidos, colunas);
      //CRIANDO CONTAINER
      //caixa = getContentPane();
      //caixa.setLayout(new BorderLayout());
      //CRIANDO UM PAINEL
      //pnlCentro = new JPanel(new FlowLayout());     
      //CRIANDO UM JSCROLLPANE E ADD NA TABELA
      rolagem = new JScrollPane(tabela);
      pnlCentro.add(rolagem);
      //DEFININDO CONTAINER   
      setSize(600,300);
      setLocationRelativeTo(null);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setVisible(true);
   }
   //CRIANDO METODO PARA PRENCHER A TABELA
   public Object[][] carregaDados(Connection conn){
      TabelaRankingDeParticipacao trp = new TabelaRankingDeParticipacao(); 
      ArrayList<TabelaRankingDeParticipacao> lista = trp.select(conn);
      Object[][] saida = new String[lista.size()][colunas.length];
      for(int i = 0; i < lista.size(); i++){
         trp = lista.get(i);
         saida[i][0] = trp.getId();
         saida[i][1] = trp.getPosicao();
         saida[i][2] = trp.getNome();
         saida[i][3] = trp.getSugestoesE();
      }
      return saida;
   } 
}

Método main:

import java.sql.*;
public class TesteTabela{
   public static void main(String[] args){
   // obtem conexao com o banco
      ConexaoBDcasa bd = new ConexaoBDcasa();
      try{
         Connection conn = bd.conectarr();
         new TelaTb(conn);
      } catch (SQLException e){
         e.printStackTrace();
      }
   }
}

Erro:

 ----jGRASP exec: java TesteTabela
****com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'tutorial.rankingdeparticipacao' doesn't exist 'at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)****
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
	at com.mysql.jdbc.Util.getInstance(Util.java:387)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:941)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3870)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3806)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2470)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2617)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2550)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
	at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1962)
	at TabelaRankingDeParticipacao.select(TabelaRankingDeParticipacao.java:63)
	at TelaTb.carregaDados(TelaTb.java:57)
	at TelaTb.<init>(TelaTb.java:27)
	at TesteTabela.main(TesteTabela.java:9)
****Exception in thread "main" java.lang.NullPointerException****
	at TelaTb.<init>(TelaTb.java:42)
	at TesteTabela.main(TesteTabela.java:9)
 ----jGRASP: process ended by user.

Mensagens: 1

Participantes: 1

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>