jarvas Posted July 23, 2013 at 10:15 AM Report #519639 Posted July 23, 2013 at 10:15 AM Boas a todos, Eu tenho o seguinte problema: Estou a tentar obter valores de uma base de dados mysql através do seguinte código: A conecção está activa uma vez que não me entra no if. Statement stmt = null; ResultSet rs = null; if (conn == null) { System.out.println("Sem ligação ao mysql!!!"); } String id= ""; rs = stmt.executeQuery("SELECT id_manufacturer FROM ps_manufacturer WHERE name LIKE '%" + name + "%'"); while (rs.next()) { id= rs.getString("id_manufacturer"); } Dá-me o seguinte erro: SEVERE: null java.lang.NullPointerException No netbeans obtenho seguinte warning "Dereferencing null pointer". Alguém me pode dar uma ajuda? Obrigado
Baderous Posted July 23, 2013 at 12:06 PM Report #519649 Posted July 23, 2013 at 12:06 PM Tens de inicializar o Statement. http://stackoverflow.com/questions/5809239/query-a-mysql-db-using-java
saca-rolhas Posted July 23, 2013 at 01:00 PM Report #519653 Posted July 23, 2013 at 01:00 PM Boas Jarvis, vou-te responder da mesma maneira que fiz neste tópico: http://www.portugal-a-programar.pt/topic/61714-conexao-base-de-dados/ lê o tópico para saberes o que poderás fazer para corrigir esse erro, e volto a referir: PreparedStatement usa este método ao invés de Statement para tornar a tua aplicação mais robusta e bug free o metodo Statement deve ser usado para Queries pré-concebidas e que não necessitam de nenhum input adicional de informação. Sobre esse Statement, ele só via funcionar se lhe atribuires uma conexão, pois a lógica do JDBC resume-se a: 1º passo: Qual a DB - > declarar driver: Class.forName(driver); 2º passo: Estabelecer a conexão: Connection conn = DriverManager.getConnection(URL_MAIN, USER, PWD); 3º passo: associar a conexão ao query que queres executar: PreparedStatement ps = conn.prepareStatement(GET_USERNAME); 3.1º passo: caso haja associar os devidos valores: ps.setString(1, number); 4º passo: executar o query e caso haja retorno apanhar o mesmo com um ResultSet: ResultSet rs = ps.executeQuery(); The worst part of censorship is ****
jarvas Posted July 23, 2013 at 03:08 PM Author Report #519675 Posted July 23, 2013 at 03:08 PM Obrigado Baderous. Já corrigi o erro e funciona tudo ok. saca-rolhas obrigado pela tua explicação e partilha. Cumprimentos a todos.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now