Fórum CHAVE PRIMÁRIA NO DELPHI #164443

04/06/2003

0

Olá Turma,

Tenho um cadastro de clientes, onde tenho como chave primária o campo ´CPF´.
Como faço para não se repetir o número de CPF?

já tentei o seguinte:

If Not(Dm.IBTransaction.InTransaction) Then
Dm.IBTransaction.StartTransaction;
Dm.IBDS_SOCIOS.Post;
Dm.IBDS_SOCIOS.ApplyUpdates;
Dm.IBTransaction.CommitRetaining;
except
on e:EdatabaseError do
Begin
if Uppercase(copy(E.Message,1,34))=´VIOLATION OF PRIMARY OR UNIQUE KEY´ then
ShowMessage(´Não é possível salvar os dados, o nº do ´CPF´ informado já está cadastrado, informe outro.´);
Dm.IBDS_SOCIOS.Cancel;
Dm.IBDS_SOCIOS.CancelUpdates;
Dm.IBTransaction.RollbackRetaining;
end;

Mas como etou usando TRIGGERs para autoincrementar o campo código, quando o cadastro é cancelado o código que seria inserido no cadastro atual no próximo cadastro não é inserido mais.
EX: ( no novo cadastro seria o código 2, foi cancelado, quando tento outro cadastro o código é 3, então se foi cancelado, no outro cadastro o código teria de ser 2.)

Fico grato a quem poder mim ajudar.

Erivando Ramos


Erivando

Erivando

Responder

Posts

04/06/2003

Josemarlourenco

Já tentou pesquisar o CPF (para ver se já existe), antes de tentar gravar?
Isto poderia ser feito, por exemplo, no BeforePost.

Josemar


Responder

Gostei + 0

04/06/2003

Fred

se voce esta usando o CPF como primary key pra que ter um código e autincremente pelo que entendi voce esta com duas chaves primarias
use apenas o CPF


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar