Como posso ajustar campo CNPJ?
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
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
Curtidas 0
Respostas
Lucas Silva
14/06/2004
faz somente a verificação se o cpf é valido..
GOSTEI 0
Vinicius2k
14/06/2004
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 :
Espero ter ajudado...
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
Lenne
14/06/2004
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
[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
Vinicius2k
14/06/2004
Colega,
Acho que sua pergunta foi clara, e creio já ter respondido... não fui claro o suficiente? é isso?
T+
Acho que sua pergunta foi clara, e creio já ter respondido... não fui claro o suficiente? é isso?
T+
GOSTEI 0
Lucas Silva
14/06/2004
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;
GOSTEI 0