Bom dia, estou com um erro no PreparedStatement pelo que andei pesquisando o problema seria minha conexão, só que eu não sei onde está errado o programa não dispara erro algum.
public void preencherTabela(String SQL){
connection con = new connection();
ArrayList dados = new ArrayList();
String[]Colunas = new String[]{"id","nome","marca","quantidade","peso","compra","venda"};
con.executaSQL(SQL);
try {
do{
dados.add(new Object[]{con.rs.getString("id"),con.rs.getString("nome"),con.rs.getString("marca"),
con.rs.getString("quantidade"),con.rs.getString("peso"),con.rs.getString("compra"),con.rs.getString("venda")});
}while(con.rs.next());
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao preencher o ArrayList!\n"+ ex.getMessage());
}
modelTable modelo = new modelTable(dados, Colunas);
tabelaProduto.setModel(modelo);
tabelaProduto.getColumnModel().getColumn(0).setPreferredWidth(80);
tabelaProduto.getColumnModel().getColumn(0).setResizable(true);
tabelaProduto.getColumnModel().getColumn(1).setPreferredWidth(160);
tabelaProduto.getColumnModel().getColumn(1).setResizable(true);
tabelaProduto.getColumnModel().getColumn(2).setPreferredWidth(160);
tabelaProduto.getColumnModel().getColumn(2).setResizable(true);
tabelaProduto.getColumnModel().getColumn(3).setPreferredWidth(80);
tabelaProduto.getColumnModel().getColumn(3).setResizable(true);
tabelaProduto.getColumnModel().getColumn(4).setPreferredWidth(80);
tabelaProduto.getColumnModel().getColumn(4).setResizable(true);
tabelaProduto.getColumnModel().getColumn(5).setPreferredWidth(80);
tabelaProduto.getColumnModel().getColumn(5).setResizable(true);
tabelaProduto.getColumnModel().getColumn(6).setPreferredWidth(80);
tabelaProduto.getColumnModel().getColumn(6).setResizable(true);
tabelaProduto.getTableHeader().setReorderingAllowed(false);
tabelaProduto.setAutoResizeMode(tabelaProduto.AUTO_RESIZE_OFF);
tabelaProduto.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}
Está é a função da tabela que quero chamar onde chamo o executaSQL.
public class connection {
private static Connection con;
public PreparedStatement pst;
public ResultSet rs;
public static Connection conexao() throws SQLException{
try {
Class.forName("com.mysql.jdbc.Driver");
con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/estoque?useSSL=false", "root", "");
} catch (ClassNotFoundException ex) {
//JOptionPane.showMessageDialog(null, "Estado da conexão: "+con==null);
}
return con;
}
public void executaSQL(String sql){
try {
pst = (PreparedStatement) con.createStatement(rs.TYPE_SCROLL_INSENSITIVE, rs.CONCUR_READ_ONLY);
rs = pst.executeQuery(sql);
} catch (SQLException ex) {
//JOptionPane.showMessageDialog(null,"Erro ao executarSQL!"+ex);
}
}
public void desconecta(){
try {
con.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Desconexão com banco de dados efetuada com sucesso!");
}
}
}
Esse é a conexão a linha de erro de nullpointer é a linha:
"pst = (PreparedStatement) con.createStatement(rs.TYPE_SCROLL_INSENSITIVE, rs.CONCUR_READ_ONLY); "
Alguém tem ideia de como faço para resolver isso? Agradeço desde já.