Pegar Exception de 2 Registros Iguais

Então To Precisando pegar quando o usuario for inserir um cadastro e por exemplo inserir um cpf q jah existente no banco de dados…
To Usando o PostgreSql.
Alguem tem Ideia com fazer, tipo eu tenho um exemplo aki mas n funfo…
catch(SQLException ex)
{
if (ex.getMessage().equals(“General error”))
JOptionPane.showMessageDialog(null,“Cliente já Cadastrado”);
else
JOptionPane.showMessageDialog(null,“Dados Inválida”);
}

Mas n deu mto certo alguem tem como da uma Mão ai Valeu =]

Modifica o campo cpf no banco de dados para que ele seja primary key(afinal não existe pessoas com cpf iguais), daí fica mais facil de tratar exceções desse tipo.

flwsss

Jovem,
è simples…antes da inserção faça uma validação para verificar se o cpf já existe.
Ou seja, faça quantas validações forem necessárias antes de “Inserir” e cada verificação retornando sua “Exception”… ou senão ponha um restrição no BD deixando a coluna com “UNIQUE”…assim se repetir dará erro

Ja fiz isso mas mesmo assim preciso pegar a exception q dah qdo tem duplicidade de dados…

entendeu?

Tipo deixei ja de chave primaria ai da o erro de duplicidade de dados;;;

mas eu tentei, ajeita mas n consegui.

org.postgresql.util.PSQLException: ERROR: duplicate key violates unique constraint "funcionario_pkey"
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:351)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:344)
	at Bean.FuncionarioDAO.AdicionaFuncionario(FuncionarioDAO.java:37)
	at Funcionario.StartFuncionario.SalvarFuncionario(StartFuncionario.java:87)
	at Funcionario.StartFuncionario.actionPerformed(StartFuncionario.java:24)
	

SQLIntegrityConstraintViolationException

veja outras aqui: http://www.javaspecialists.co.za/archive/newsletter.do?issue=138

karamba n ta pegando a exception

catch (SQLIntegrityConstraintViolationException e) {
JOptionPane.showMessageDialog(null, “Piao Ja Add”);
}

q estranho.

[quote=colored]karamba n ta pegando a exception

catch (SQLIntegrityConstraintViolationException e) {
JOptionPane.showMessageDialog(null, “Piao Ja Add”);
}

q estranho.[/quote]

pois é, se você verificar é a org.postgresql.util.PSQLException que tá sendo levantada e ela não e uma SQLIntegrityConstraintViolationException, logo terá que fazer o catch com a danada mesmo da exception do PostgreSQL que é especialista direto de java.sql.SQLException.

Muito bem então, tenta montar um SELECT que receba como parametro o cpf digitado e compare com todos os cpf já cadastrados. Se a query retornar alguma coisa significa que já existe cpf cadastrado se não pode inserir :stuck_out_tongue: .

flwsss

Ah Rafael eu vi isso falei karai, agora q eu vi q ele importa o PSQL,
Valeu Agora d Boas x)…

Brigado a Todos.