Fórum Como posso ajustar campo CNPJ? #237500
14/06/2004
0
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
Curtir tópico
+ 0Posts
14/06/2004
Lucas Silva
Gostei + 0
14/06/2004
Vinicius2k
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...
Gostei + 0
14/06/2004
Lenne
[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
Gostei + 0
14/06/2004
Vinicius2k
Acho que sua pergunta foi clara, e creio já ter respondido... não fui claro o suficiente? é isso?
T+
Gostei + 0
14/06/2004
Lucas Silva
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;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)