Java.lang.NullPointerException

Olá pessoal, bom estou tendo o seguinte erro com o banco de dados.

Possuo dois codigos, um com acesso ao banco de dados e outro que faz as buscas no banco.

Buscas

[code]package operacional;

import bd.banco;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import javax.swing.table.DefaultTableModel;

/**
*

  • @author BEBIDAS FRUKI SA
    */
    public class gera_tabela {

    /** Creates a new instance of gera_tabela */
    public gera_tabela() {
    try {
    try {
    banco.init();
    } catch (ClassNotFoundException ex) {
    ex.printStackTrace();
    } catch (IOException ex) {
    ex.printStackTrace();
    }
    conn = banco.getConnection();
    stat = conn.createStatement();
    } catch (SQLException ex) {
    ex.printStackTrace();
    }

    }
    public static DefaultTableModel modelo(int criterio, String tipo) throws SQLException{
    String[][] dados = null;

     dados = tabela(criterio,tipo);
     
     String[] colunas = new String []{"Codigo","Funcionário","Data","Hora","Solicitação"};
     DefaultTableModel modelo = new DefaultTableModel(dados, colunas);
     return modelo;
    

    }
    private static String[][] tabela(int criterio,String tipo) throws SQLException{
    String[][] tabela = new String[t(criterio,tipo)][6];
    int i=0;

         ResultSet res = stat.executeQuery("SELECT * FROM "+tipo+" where estado = "+criterio);
         while(res.next()){
             Date data = res.getDate(3);
             Date hora = res.getDate(4);
             tabela[i][0] = res.getString(1);
             tabela[i][1] = res.getString(2);
             tabela[i][2] = res.getString(3);
             /*SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
             String data_formatada = formatador.format(data);
             tabela[i][2] = data_formatada;*/
             tabela[i][3] = res.getString(4);
             /*SimpleDateFormat formatador_hora = new SimpleDateFormat("HH:mm");
             String hora_formatada = formatador_hora.format(hora);
             tabela[i][3] = hora_formatada;*/
             tabela[i][4] = res.getString(5);
             tabela[i][5] = res.getString(6);
             i++;
         }
     
     return tabela;
    

    }
    private static int t(int criterio, String Tipo) throws SQLException{
    int i =0;
    try {
    banco.init();
    System.out.println("SELECT * FROM "+Tipo+" where estado = "+criterio);
    ResultSet res = stat.executeQuery("SELECT * FROM "+Tipo+" where estado = "+criterio);
    while(res.next()){
    i++;
    System.out.println(i);
    }
    } catch (IOException ex) {
    ex.printStackTrace();
    } catch (ClassNotFoundException ex) {
    ex.printStackTrace();
    }
    return i;
    }
    private static Connection conn;
    private static Statement stat;
    }
    [/code]

conexão

[code]package bd;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import bd.*;
/**
*

  • @author Kiko
    */
    public class banco {

    /** Creates a new instance of banco /
    public static void init()
    throws IOException, ClassNotFoundException{
    Properties props = new Properties();
    FileInputStream in = new FileInputStream("c:/Suporte/suporte/bd.properties");
    props.load(in);
    /**String driver = props.getProperty("jdbc.driver");
    * url = props.getProperty("jdbc.url");
    * username = props.getProperty("jdbc.usuario");
    * password = props.getProperty("jdbc.senha");
    /
    String hostName, userName, password, jdbcDriver, dataBaseName, dataBasePrefix, dataBasePort;
    hostName = props.getProperty("mysql.hostName");
    userName = props.getProperty("mysql.userName");
    password = props.getProperty("mysql.password");
    jdbcDriver = props.getProperty("mysql.jdbcDriver");
    dataBaseName = props.getProperty("mysql.dataBaseName");
    dataBasePrefix = props.getProperty("mysql.dataBasePrefix");
    dataBasePort = props.getProperty("mysql.dataBasePort");
    System.out.println(jdbcDriver);
    Class.forName(jdbcDriver);
    String url = dataBasePrefix + hostName + ":"+dataBasePort+"/" + dataBaseName + "/";

    }
    public static Connection getConnection()
    throws SQLException{
    return DriverManager.getConnection(url,username, password);
    }
    private static String url, username, password;
    }[/code]

Ele tá me dando o seguinte erro

[quote]java.lang.NullPointerException

    at operacional.gera_tabela.t(gera_tabela.java:83)

    at operacional.gera_tabela.tabela(gera_tabela.java:54)

    at operacional.gera_tabela.modelo(gera_tabela.java:47)

    at grafica.index.jButton1ActionPerformed(index.java:607)

    at grafica.index.access$000(index.java:17)

    at grafica.index$1.actionPerformed(index.java:512)

    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)

    at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)

    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)

    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)

    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)

    at java.awt.Component.processMouseEvent(Component.java:5100)

    at java.awt.Component.processEvent(Component.java:4897)

    at java.awt.Container.processEvent(Container.java:1569)

    at java.awt.Component.dispatchEventImpl(Component.java:3615)

    at java.awt.Container.dispatchEventImpl(Container.java:1627)

    at java.awt.Component.dispatchEvent(Component.java:3477)

    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)

    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)

    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)

    at java.awt.Container.dispatchEventImpl(Container.java:1613)

    at java.awt.Window.dispatchEventImpl(Window.java:1606)

    at java.awt.Component.dispatchEvent(Component.java:3477)

    at java.awt.EventQueue.dispatchEvent(EventQueue.java:480)

    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

[/quote]

Alguem sabe como eu resolvo esse erro???

hum bom analisando o log…

o que tem na linha 83, da classe gera_tabela?

nessa linha que estourou o erro de ponteiro nulo…

verifique as regiões do seu código:

at grafica.index.jButton1ActionPerformed(index.java:607) at operacional.gera_tabela.modelo(gera_tabela.java:47) at operacional.gera_tabela.tabela(gera_tabela.java:54) at operacional.gera_tabela.t(gera_tabela.java:83)
os erros do console sempre seguem o genero, classe onde aconteceu o
erro “:” linha do erro, a sequencia aparece em ordem invertida, sendo a
primeira linha abaixo da descrição do erro onde estourou o erro, e as
próximas o fluxo executado antes do erro…

nessa sequencia que aparece :wink:
tu sabe usar debug? acho que irá te ajudar a corrigir o erro :grin: