Fórum Key violation #278426

21/04/2005

0

Ola amigos, mais uma vez venho pedir o CODIGO de como tratar erro de key violation em um campo de chave primaria.

tenho a tabela X com o campo CPF, gostria de mostrar 1 mensagem antes de gravar que ja existe tal CPF digitado. como faz isso no FB/IB??

Um abraço

:?


título editado por nildo (removida parte apelativa)


Njuniorba

Njuniorba

Responder

Posts

21/04/2005

Aroldo Zanela

Colega,

Como esta thread provavelmente será bloqueada. adicione os detalhes nesta aqui que você iniciou anteriormente.
Acredito que tenha faltado clareza em sua tentativa anterior.
http://forum.clubedelphi.net/viewtopic.php?t=61904


Responder

Gostei + 0

21/04/2005

Yallebr

Amigo faz um comando SQL simples para ver se existe um registro na tabela antes de vc salvar.

O certo não é tratar essa exceção não, o correto é nem deixar ocorrer essa exceção.
Assim o BD nem perde tempo processando e gerando essa exceção e também oucupando a rede.

Select Count(ChavePrimaria) as Total from Tabela where CPF = ´5555555´ and ChavePrimaria <> CodigoAtualDoRegistro.

If Total >= 1 then
ShowMessage(´Já existe esse CPF cadastrado´).


Responder

Gostei + 0

21/04/2005

Mysys

QRY.Close;
QRY.Sql.Clear;
QRY.Sql.Add(´SELECT NOMCLI,NOMMAE FROM TBLCli´);
QRY.Sql.Add(´WHERE CPG = :VSCpd´);
QRY.Params[0].AsString := passa o nome;
QRY.Open;

If not QRY.IsEmpty Then
begin
ShowMessage(´cliente Repetido´)
Exit;
end;
Else
Grava seu Cadastro


Responder

Gostei + 0

22/04/2005

Rjun

Por que será que nos programadores insistimos em usar CPF como chave primária ? Mais cedo um mais tarde iremos quebrar a cara com isso.


Responder

Gostei + 0

22/04/2005

Mysys

no meu caso eu nao uso CPF compo primario mas confiro antes de gravar pra saber c esta sendo repetido


Rjun
voce acha que em tao pouco tempo assim o cpf vai ser trocado por outro tipo de documento ..???

nao acredito muito nisso nao..


Responder

Gostei + 0

22/04/2005

Rjun

Não quis dizer que o CPF seria trocado. Apenas não considero o CPF uma boa referência para se verificar se um cadastro existe ou não. Nao se pode obrigar uma pessoa a fornecer o CPF. Muitas pessoas utilizam o CPF do esposa/esposa. Se fizermos restrição pelo CPF em muitos casos termos dor de cabeça.


Responder

Gostei + 0

22/04/2005

Massuda

Por que será que nos programadores insistimos em usar CPF como chave primária ? Mais cedo um mais tarde iremos quebrar a cara com isso.
Curiosidade... o que você utiliza para identificar unicamente uma pessoa?


Responder

Gostei + 0

22/04/2005

Mysys

a ´TABELA´ de clientes tem o CODCLI como chave primaria porem antes
de gravar eu faco uma consulta no CPF pra ver c nao tem repedito..


Responder

Gostei + 0

22/04/2005

Rjun

Pois é...falei, falei e acabo fazendo a mesma coisa....Mas e se acontecesse casos como eu citei. O que vocês fariam ?


Responder

Gostei + 0

22/04/2005

Yallebr

Curiosidade... o que você utiliza para identificar unicamente uma pessoa?


Eu utilizo o CPF para identificar a pessoa. Mas NÃO utilizo o CPF como chave primária também.

Como todos sabemos uma chave primária não pode repetir nem pode ser nula.

Vamos supor que vc tem um programa de lava jato... Ou um programa de supermecado. Seu cliente esta te pagando a vista não interesse se o CPF dele é roubado (já consta um outro no BD) ou se ele está com posse dele ou não. Vc tem simplesmente tem de vender..

Eu utilizo como indice, mas nao primario.

Minha opniao.


Responder

Gostei + 0

22/04/2005

Aroldo Zanela

Pois é...falei, falei e acabo fazendo a mesma coisa....Mas e se acontecesse casos como eu citei. O que vocês fariam ?

Colega,

Podemos utilizar uma chave artificial para identificar o cliente unicamente em nosso sistema, entretanto, na maioria dos sistemas comerciais precisamos levar informações para órgãos governamentais. Exemplo: Sintegra, Tare/Roi, etc. Se houver alguma mudança, obviamente que teremos que efetuar mudanças nos sistemas de qualquer forma.


Responder

Gostei + 0

22/04/2005

Massuda

Pois é...falei, falei e acabo fazendo a mesma coisa....Mas e se acontecesse casos como eu citei. O que vocês fariam ?
Acho que usar o CPF para identificar uma pessoa depende da aplicação que você está desenvolvendo.

Existem situações onde exige-se o CPF... por exemplo, recentemente exigiu-se o CPF para os estudantes que vão prestar o ENEM; acho que esse tipo de exigência é feita porque, de todos os documentos pessoais, apenas o CPF e o título de eleitor tem a característica de ser único para cada pessoa em todo o país.

Se não me engano, num dado instante, uma pessoa só pode possuir um CPF mas é possível da baixa em um CPF e requerer outro (não tenho certeza disso), de modo que ao longo do tempo uma pessoa pode ter diferentes CPFs.

A título de curiosidade, nos Estados Unidos, o SSN (Social Security Number - similar ao nosso registro no INSS) é frequentemente usado como identificador único das pessoas físicas em todo os EUA, embora nem todos sejam obrigados a ter um SSN. Uma diferença com nosso CPF é que você não consegue mudar de SSN.


Responder

Gostei + 0

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

Aceitar