Problemas com Unique Key do DELPHI
Bom, está acontecendo um problema muito estranho:
Possuo um campo chamado CPF na minha tabela TERCEIRO. Esse campo é chave unica, no firebird (uso o 2.1) se eu por inserindo normal mesmo como nulo ele funciona perfeitamente.
Porém no DELPHI se eu tentar inserir algo nulo nesse campo ele da um KEY VIOLATION.
Estranho é que tenho um outro campo EMAIL que é chave unica também, se ele não da esse problema no delphi, eu posso cadastrar um cliente nem colocar nenhum EMAIL que ele passa, mais o CPF tem que ter.
Uso DELPHI 2012 e FIREBIRD 2.1
Possuo um campo chamado CPF na minha tabela TERCEIRO. Esse campo é chave unica, no firebird (uso o 2.1) se eu por inserindo normal mesmo como nulo ele funciona perfeitamente.
Porém no DELPHI se eu tentar inserir algo nulo nesse campo ele da um KEY VIOLATION.
Estranho é que tenho um outro campo EMAIL que é chave unica também, se ele não da esse problema no delphi, eu posso cadastrar um cliente nem colocar nenhum EMAIL que ele passa, mais o CPF tem que ter.
Uso DELPHI 2012 e FIREBIRD 2.1
Ronaldo Lanhellas
Curtidas 0
Respostas
William
04/07/2012
Colega caso vc esteja usando um componente ClientDataSet, configure a propriedade Required=false do campo ID no FieldsEditors.
GOSTEI 0
William
04/07/2012
Perdão o campo chave é o CPF e não ID.
GOSTEI 0
Ronaldo Lanhellas
04/07/2012
Pelo contrário amigo, o CPF não é um PK. Ele é apenas um campo que pode ou não ser preenchido, sendo que quando for preenchido não pode ser repetido, por isso ele é CHAVE UNICA.
GOSTEI 0
William
04/07/2012
Mesmo assim acho que no FieldsEditor tem uma flag para configurar essa situação, só não dou certeza pq estou sem delphi no momento.
GOSTEI 0
Ronaldo Lanhellas
04/07/2012
Pois é, também acho que é isso, porque incluo normal no firebird sem o CPF.
Agora qual flag ? hehehe O Campo email ta IDENTICO ao campo CPF e o EMAIL funciona.
Agora qual flag ? hehehe O Campo email ta IDENTICO ao campo CPF e o EMAIL funciona.
GOSTEI 0
Ronaldo Lanhellas
04/07/2012
Descobri que ambos os campos UNIQUE (email e CPF) caso não sejam preenchidos da KEY VIOLATION.
E agora ?
E agora ?
GOSTEI 0