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.
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
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)
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 .