Fórum Como posso ajustar campo CNPJ? #237500

14/06/2004

0

Olá pessoal!!
Como Posso fazer com que um CNPJ se repita ou possa ser cadastrado novamente?

Isso tem que ser feito no banco ou pode ser na aplicaçaõ?

Poderia me mostrar em qualquer um dos caso como fazer?

Agradeço muito a ajuda!!

Muito obrigado!!!

lenne


Lenne

Lenne

Responder

Posts

14/06/2004

Lucas Silva

faz somente a verificação se o cpf é valido..


Responder

Gostei + 0

14/06/2004

Vinicius2k

Colega,

Você pode criar um indice UNIQUE no seu banco de dados, caso ele suporte, com isso a operação de insert ou update, caso o CNPJ se repita, irá gerar uma exceção, ou erro (no caso de ClientDatSets)... a mesma exceção/erro que é gerada quando existe violação de chave primária...

Entretanto, a solução mais elegante é fazer através da aplicação, verificando se o CNPJ já existe na base antes de fazer o insert/update. Para isso você deve criar uma query que seja executada para verificação de existencia... algo parecido com isso :
with IBQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add(´select CNPJ from CLIENTES where CNPJ = :cnpj´);
    ParamByName(´cnpj´).AsString:= Edit1.Text;
    Open;
  end;

if not IBQuery1.IsEmpty then
  begin
    // se a query não estiver vazia é porque o CNPJ já 
    // existe... então, trate aqui...
  end;


Espero ter ajudado...


Responder

Gostei + 0

14/06/2004

Lenne

Desculpe Fiz a pergunta de uma maneira errada, mas estou corrigindo-a!

[color=darkred:e343cef81c]Como Posso fazer Para que um CNPJ [b:e343cef81c][u:e343cef81c]Não[/u:e343cef81c][/b:e343cef81c] se repita ou possa ser cadastrado novamente?

Isso tem que ser feito no banco ou pode ser na aplicaçaõ?

[b:e343cef81c][u:e343cef81c]Poderia me mostrar[/u:e343cef81c][/b:e343cef81c] em qualquer um dos caso [u:e343cef81c][b:e343cef81c]como fazer? [/b:e343cef81c][/u:e343cef81c]

Agradeço muito a ajuda!!

Muito obrigado!!! [/color:e343cef81c]
lenne


Responder

Gostei + 0

14/06/2004

Vinicius2k

Colega,

Acho que sua pergunta foi clara, e creio já ter respondido... não fui claro o suficiente? é isso?
T+


Responder

Gostei + 0

14/06/2004

Lucas Silva

Aproveitando o código do 2k.


procedure TForm1.Edit1Exit(Sender: TObject);
begin
    with IBQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add(´select CNPJ from CLIENTES where CNPJ = ´´´+Edit1.Text+´´´ ´);
        Open;
      end;

    if not IBQuery1.IsEmpty then
      begin
         ShowMessage(´CNPJ já cadastrado!´);
         Edit1.Text; // como o cnpj já existe vc, volta o foco para o edit;
      end;
end;



Responder

Gostei + 0

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

Aceitar