Fórum chave primária no InterBase 6... help-me #164419
03/06/2003
0
Olá Turma, :lol:
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. :oops: :idea: :idea: :idea: :idea:
Erivando Ramos
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. :oops: :idea: :idea: :idea: :idea:
Erivando Ramos
Erivando
Curtir tópico
+ 0
Responder
Posts
04/06/2003
Cruz
O sistema que vc está desenvolvendo é cliente/servidor??? 3 camadas???
Responder
Gostei + 0
04/06/2003
Erivando
É MONO-USUÁRIO :cry:
Erivando
Erivando
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)