Estou tentando enviar para um banco de dados as informações passadas pelo usuário.
Essa informações seriam:
Filia; Nome Completo; Endereco e Cidade.
Depois tentaria traze-las de volta do banco.
Quando executo a JVM indica a exceção:
Exception in thread "main" java.lang.NullPointerException
at br.com.IgrejaViva.CadastraMembro.insert(CadastraMembro.java:60)
at br.com.IgrejaViva.CadastraMembro.main(CadastraMembro.java:14)
O código é esse:
package br.com.IgrejaViva;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Scanner;
public class CadastraMembro{
public static void main(String[] args) throws SQLException {
insert();
select();
}
public static void insert() throws SQLException{
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
Membro membro = new Membro();
ConnectionDB con = new ConnectionDB();
System.out.println("Bem vindo ao sistema de cadastros");
System.out.println("Digite 1 para sair !");
int op = 0;
while (op != 1) {
System.out.println("Digite a Filial do Membro");
membro.setFilial(scanner.nextLine());
System.out.println("Digite o Nome completo");
membro.setNome(scanner.nextLine());
System.out.println("Digite o Endereço");
membro.setEndereco(scanner.nextLine());
System.out.println("Digite o Cidade");
membro.setCidade(scanner.nextLine());
/*System.out.println(membro.getCidade());
System.out.println(membro.getNome());
System.out.println(membro.getFilial());
System.out.println(membro.getEndereco());*/
if (op >= 2) {
System.out.println("Digite apenas o numero 1 para sair");
}
else op = scanner.nextInt();
}
PreparedStatement query = con.prepareStatement("INSERT INTO Membro (filial, nomecompleto, endereco, cidade) VALUES (?, ?, ?, ?)");
query.setString(1, membro.getFilial()); // AQUI A JVM PARA A EXECUÇÃO
query.setString(2, membro.getNome());
query.setString(3, membro.getEndereco());
query.setString(4, membro.getCidade());
query.executeQuery();
}
public static ArrayList<Membro> select() throws SQLException{
ConnectionDB con = new ConnectionDB();
ArrayList<Membro> listaDeMembros = new ArrayList<Membro>();
Membro membro = new Membro();
PreparedStatement query2 = con.prepareStatement("SELECT * from Membro");
ResultSet resultados = query2.executeQuery();
while (resultados.next()) {
listaDeMembros.add(membro);
membro.setFilial(resultados.getString("filial"));
membro.setNome(resultados.getString("nomecompleto"));
membro.setEndereco(resultados.getString("endereco"));
membro.setCidade(resultados.getString("cidade"));
}
return listaDeMembros;
}
}
Se alguém já passou por esse problema ou sabe como posso resolve-lo me ajude!
Pergunta
Teixeiraa
package br.com.IgrejaViva; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Scanner; public class CadastraMembro{ public static void main(String[] args) throws SQLException { insert(); select(); } public static void insert() throws SQLException{ @SuppressWarnings("resource") Scanner scanner = new Scanner(System.in); Membro membro = new Membro(); ConnectionDB con = new ConnectionDB(); System.out.println("Bem vindo ao sistema de cadastros"); System.out.println("Digite 1 para sair !"); int op = 0; while (op != 1) { System.out.println("Digite a Filial do Membro"); membro.setFilial(scanner.nextLine()); System.out.println("Digite o Nome completo"); membro.setNome(scanner.nextLine()); System.out.println("Digite o Endereço"); membro.setEndereco(scanner.nextLine()); System.out.println("Digite o Cidade"); membro.setCidade(scanner.nextLine()); /*System.out.println(membro.getCidade()); System.out.println(membro.getNome()); System.out.println(membro.getFilial()); System.out.println(membro.getEndereco());*/ if (op >= 2) { System.out.println("Digite apenas o numero 1 para sair"); } else op = scanner.nextInt(); } PreparedStatement query = con.prepareStatement("INSERT INTO Membro (filial, nomecompleto, endereco, cidade) VALUES (?, ?, ?, ?)"); query.setString(1, membro.getFilial()); // AQUI A JVM PARA A EXECUÇÃO query.setString(2, membro.getNome()); query.setString(3, membro.getEndereco()); query.setString(4, membro.getCidade()); query.executeQuery(); } public static ArrayList<Membro> select() throws SQLException{ ConnectionDB con = new ConnectionDB(); ArrayList<Membro> listaDeMembros = new ArrayList<Membro>(); Membro membro = new Membro(); PreparedStatement query2 = con.prepareStatement("SELECT * from Membro"); ResultSet resultados = query2.executeQuery(); while (resultados.next()) { listaDeMembros.add(membro); membro.setFilial(resultados.getString("filial")); membro.setNome(resultados.getString("nomecompleto")); membro.setEndereco(resultados.getString("endereco")); membro.setCidade(resultados.getString("cidade")); } return listaDeMembros; } }Se alguém já passou por esse problema ou sabe como posso resolve-lo me ajude!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.