Olá pessoal.Bom,está acontecendo um erro aqui que não estou entendendo.Fiz a classe ConectarPostgres aonde tem os métodos conecta,fechaconexao,comandosql e pegadadosselect.Fiz também uma classe Main para verificar se os métodos estão corretos,mas quando executo o método main desta classe main,obtenho erro de NullPointerException.
Aqui está a classe ConectarPostgres
import java.sql.*;
public class ConectarPostgres
{
Connection conexao;
Statement declaracao;
ResultSet resultado;
public void Conecta()
{
try
{
try
{
Class.forName("org.postgresql.Driver").newInstance();
}
catch(Exception e)
{
System.out.println("falha ao carregar o driver de conexao ao banco de dados");
}
conexao = DriverManager.getConnection("jdbc:postgresql://192.168.0.2:5432/postgres","postgres","postgres");
}
catch(Exception e)
{
System.out.print("Falha ao carregar a conexão");
}
}
public ResultSet ComandoSql(String SQL)
{
try
{
Statement declaracao = conexao.createStatement();
ResultSet resultado = declaracao.executeQuery(SQL);
}
catch(SQLException e)
{
e.printStackTrace();
}
return resultado;
}
public void FechaConexao()
{
try
{
conexao.close();
}
catch(SQLException onConClose)
{
System.out.println("Houve erro no fechamento da conexão");
onConClose.printStackTrace();
}
}
public void PegaDadosSelect(ResultSet resultado)
{
try
{
while(resultado.next())
{
System.out.println(resultado.getString("nome"));
}
}
catch(SQLException e)
{
System.out.println("houve um erro ao trazer os dados do banco");
}
}
}
e aqui a classe Main:
import java.sql.*;
public class Main
{
public static ConectarPostgres conexao = new ConectarPostgres();
public static ResultSet resultado;
public static void main(String[] args)
{
conexao.Conecta();
resultado = conexao.ComandoSql("select nome from pessoas pessoasid < 30");
conexao.PegaDadosSelect(resultado);
}
}
O erro de NullPointerException ocorre quando dou o comando "conexao.PegaDadosSelect(resultado);".O que está errado?