Boa tarde Galera.
Já procurei no google mas não achei muita coisa relacionada a isto.
Seguinte preciso fazer um projeto de administração de um banco de dados, primeiramente estou fazendo um campo para o usuario somente digitar o nome do banco que ele deseja criar
NullPointer não é acusado quando você executa uma query sem sucesso.
Há alguma coisa errada…
Ou o connection ou o PreparedStatement ou o objeto que está passando não foi instanciado (ou seja, nulo).
Aliás, em qual linha está sendo apontado o null pointer?
xxabxx
Linha 02 da primeira classe = PreparedStatement stmt = this.connection.prepareStatement(“CREATE DATABASE ?”);
Linha 07 da segunda classe = dao.criarBanco(banco);
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at AdmBanco.BancoDao.criarBanco(BancoDao.java:26)
at AdmBanco.admBanco.CriarBanco(admBanco.java:177)
drsmachado
Então, camarada.
possivelmente o connection esteja como null.
Se não quer postar a classe inteira, faça 2 coisas, 1 debugar. 2 reveja o método que cria o connection.
Algo que pode ajudar é trocar o maldito throws SQLException por um bendito try/catch
xxabxx
Classe Conecta
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageAdmBanco;/** * * @author Administrador *//* Integrantes:Eduardo Gazal ? RA 025303/10-1Felipe Gomes ? RA 06366/09-3Fernando Apolinário?RA 061203/10-8José Carlos ? RA 01812/10-1 * */importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;/** * * @author Manutenção D2 */publicclassConecta{publicstaticConnectiongetConnection()throwsSQLException{// Local do driver + configurações do banco de dadosreturnDriverManager.getConnection("jdbc:mysql://localhost:3309/mysql","root","senha10");}}
Classe BancoDao
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageAdmBanco;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.SQLException;/** * * @author Felipe Gomes */publicclassBancoDao{privateConnectionconnection;voidconecta()throwsSQLException{this.connection=Conecta.getConnection();}publicvoidcriarBanco(BancocriarBanco)throwsSQLException{PreparedStatementstmt=this.connection.prepareStatement("CREATE DATABASE ?");stmt.setString(1,criarBanco.getCreate());stmt.executeQuery();// comando para executar o sqlstmt.close();// fecha a conexão com o banco}}
Classe admBanco
privatevoidjBCriarActionPerformed(java.awt.event.ActionEventevt){CriarBanco();}voidCriarBanco()throwsSQLException{Bancobanco=newBanco();banco.setCreate(jTBanco.getText());BancoDaodao=newBancoDao();dao.criarBanco(banco);}publicstaticvoidmain(Stringargs[]){java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newadmBanco().setVisible(true);}});}// Variables declaration - do not modify privatejavax.swing.JButtonjBCriar;privatejavax.swing.JLabeljLabel1;privatejavax.swing.JLabeljLabel2;privatejavax.swing.JLabeljLabel3;privatejavax.swing.JPaneljPanel1;privatejavax.swing.JPaneljPanel2;privatejavax.swing.JTextFieldjTBanco;privatejavax.swing.JTextFieldjTextField1;privatejavax.swing.JTextFieldjTextField2;// End of variables declaration }