Para fazer uma alteração utilizando o PostgreSql com banco

5 respostas
G

Amigos, estou precisando de ajuda. Estou fazendo meu projeto final e o mesmo precisa incluir, consultar, alterar e excluir. Quanto a inclusão, blz. Agora se tento alterar quando clico no botão de alteração, me aparece no eclipse a seguinte mensagem no console.

Exception occurred during event dispatching:
java.lang.NullPointerException
	at modelo.ModelCliente.mostraCliente(ModelCliente.java:103)
	at modelo.ModelCliente.moveToReg(ModelCliente.java:123)
	at controle.ControleClientes.actionPerformed(ControleClientes.java:87)

e quando eu clico na linha modelo.ModelCliente.mostraCliente(ModelCliente.java:103) ele me mostra o seguinte(imagem da classe mostraCliente).

se clico na segunda linha at modelo.ModelCliente.moveToReg(ModelCliente.java:123) ele mostra:

public static void moveToReg(Tela1_Clientes objTela, int reg) {
		cliente = null;
		try {
			cliente = sDao.moveToReg(reg);
		} catch (DAOException ex) {
		}
		mostraCliente(objTela, cliente); [b](esta linha selecionada)[/b]
	}

e se clico na terceira linha at controle.ControleClientes.actionPerformed(ControleClientes.java:87), ele me mostra

if (e.getSource() == tela2.getBtnOpcao1()){
			if (comando.equals("Alterar")){
				reg = tela2.getTabClientes().getSelectedRow();
				mcliente.moveToReg(tela1, reg + 1);         (esta linha selecionada)
				tela1.getBtnOpcao1().setText("Retornar");
				tela1.setTitle("Clientes - (Alteração)");
				tela1.setModal(true);
				tela1.setLocationRelativeTo(null);
				tela1.setVisible(true);
			}


5 Respostas

java.rco

meu caro guting esse objeto Client temp está nulo, por isso você tá recebendo esse nullPointer.
Da uma olhada aonde você define ele.

G
Cara, vc poderia ser um pouco mais claro. Sou novo em programação java e estou tentando ajudar um dos membros do grupo que digitou esse codigo. Segue abaixo:
public class ModelCliente {
	//ATRIBUTOS
	private static String dataBase = "postgresql";
	private static String dbName = "AutoCenter";
	private static String user = "postgres";
	private static String passwd = "post";
	private static String tabName = "cliente";
	private static ClienteDAO sDao = new ClienteDAO(dataBase, dbName, user, passwd, tabName);
	private static Cliente cliente = new Cliente();

	public ModelCliente() {
	}

	public static void incluiCliente(Tela1_Clientes objTela) {
	
		cliente.setDataCadastro(objTela.getDtCad());
		cliente.setCodigo(objTela.getCodigo());
		cliente.setNome(objTela.getOpcao1());
		cliente.setEndereco(objTela.getEndereco());
		cliente.setComplemento(objTela.getComplemento());
		cliente.setTelefone(objTela.getTelefone());
		cliente.setCep(objTela.getCep());
		cliente.setBairro(objTela.getBairro());
		cliente.setCidade(objTela.getCidade());
		cliente.setEstado(objTela.getEstado());
		cliente.setRg(objTela.getInscEst());
		cliente.setCpf(objTela.getCnpj());
		System.out.println("xxx4");
		try {
			cliente = sDao.makePersistent(cliente);

		} catch (DAOException ex) {
			ex.printStackTrace();
		}
	}

	public static void alteraAluno(Tela1_Clientes objTela) {
		boolean ok = false;
		cliente.setDataCadastro(objTela.getDtCad());
		cliente.setCodigo(objTela.getCodigo());
		cliente.setNome(objTela.getOpcao1());
		cliente.setEndereco(objTela.getEndereco());
		cliente.setComplemento(objTela.getComplemento());
		cliente.setTelefone(objTela.getTelefone());
		cliente.setCep(objTela.getCep());
		cliente.setBairro(objTela.getBairro());
		cliente.setCidade(objTela.getCidade());
		cliente.setEstado(objTela.getEstado());
		cliente.setRg(objTela.getInscEst());
		cliente.setCpf(objTela.getCnpj());
		try {
			ok = sDao.updatePersistent(cliente);
		} catch (DAOException ex) {
			ex.printStackTrace();
		}
		if (ok) {
			System.out.println("Erro na alteração");
		}
	}

	public static void excluiCliente(Tela1_Clientes objTela) {
		// boolean ok;
		System.out.println("Dentro da classe Model, método excluiCliente");
		cliente.setDataCadastro(objTela.getDtCad());
		cliente.setCodigo(objTela.getCodigo());
		cliente.setNome(objTela.getOpcao1());
		cliente.setEndereco(objTela.getEndereco());
		cliente.setComplemento(objTela.getComplemento());
		cliente.setTelefone(objTela.getTelefone());
		cliente.setCep(objTela.getCep());
		cliente.setBairro(objTela.getBairro());
		cliente.setCidade(objTela.getCidade());
		cliente.setEstado(objTela.getEstado());
		cliente.setRg(objTela.getInscEst());
		cliente.setCpf(objTela.getCnpj());
		try {
			sDao.deletePersistent(cliente);
		} catch (DAOException ex) {
			ex.printStackTrace();
		}
	}

	public static void recuperaClientes(Tela2_Clientes objTela) {
		try {
			sDao.DBCliente();
		} catch (DAOException ex) {
			ex.printStackTrace();
		}
		carregaTable(objTela);
	}

	public static void mostraCliente(Tela1_Clientes objTela, Cliente temp) {
		objTela.setDtCad(temp.getDataCadastro());
		objTela.setCodigo(temp.getCodigo());
		objTela.setOpcao1(temp.getNome());
		objTela.setEndereco(temp.getEndereco());
		objTela.setComplemento(temp.getComplemento());
		objTela.setTelefone(temp.getTelefone());
		objTela.setCep(temp.getCep());
		objTela.setBairro(temp.getBairro());
		objTela.setCidade(temp.getCidade());
		objTela.setEstado(temp.getEstado());
		objTela.setInscEst(temp.getRg());
		objTela.setCnpj(temp.getCpf());
	}

	public static void moveToReg(Tela1_Clientes objTela, int reg) {
		cliente = null;
		try {
			cliente = sDao.moveToReg(reg);
		} catch (DAOException ex) {
		}
		mostraCliente(objTela, cliente);
	}

	public Cliente exibeReg(int reg) {
		cliente = null;
		try {
			cliente = sDao.moveToReg(reg);
		} catch (DAOException ex) {
		}
		return cliente;
	}

	public static void carregaTable(Tela2_Clientes objTela) {
		Vector linhaTabela, titulosTabela;
		titulosTabela = new Vector();
		titulosTabela.add("Código");
		titulosTabela.add("Nome");
		try {
			linhaTabela = sDao.carregaTable();
			DefaultTableModel modeloTabela = new DefaultTableModel(linhaTabela,
					titulosTabela);
			objTela.getTabClientes().setModel(modeloTabela);
		} catch (DAOException ex) {
		}
	}

	public Vector carregaTabAluno() {
		Vector linhaTabela = new Vector();
		try {
			linhaTabela = sDao.carregaTable();
		} catch (DAOException ex) {
		}
		return linhaTabela;
	}


	public Cliente localizaCliente(String matricula) {
		Cliente cliente = new Cliente();
		cliente = null;
		try {
			cliente = sDao.localizaCliente(matricula);
			return (cliente);
		} catch (DAOException ex) {
			// ex.printStackTrace();
		}
		return cliente;
	}
}
java.rco

Olha só no método moveToReg você invoca o método sDao.moveToReg(reg) que te retorna um cliente, esse método deve estar retornando null por isso ao passar para o próximo método
quando você tenta acessar algum atributo vc recebe um nullPointer.

G

Java.rco muito obrigado. Vou olhar aqui o que pode ter acontecido. Vlw mesmo

G

cara realmente vc estava certo, um dos atributos estava com um nome no banco e outro no programa. :smiley:

Criado 26 de junho de 2008
Ultima resposta 26 de jun. de 2008
Respostas 5
Participantes 2