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

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);
			}


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

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:

[code]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;
}

}
[/code]

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.

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

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