Como controlar duplicidade no ClientDataSet
Olá pessoa.Gostaria de saber com faço para criar em um ClientDataSet uma forma de não deixar o usuário inserir duas vezes o mesmo item.
Este ClientDataSet está apenas em memória, não esta ligado a nenhuma query.
Obrigado!
Este ClientDataSet está apenas em memória, não esta ligado a nenhuma query.
Obrigado!
Joaohenriquemf
Curtidas 0
Respostas
Vitor Alcantara
15/11/2007
Tenta criar um indice do tipo unique no seu campo unico.
Ex:
Ex:
ClientDataSet1.IndexDefs.Add(´idx1´,´NomeDoCampo´,[ixUnique]); ClientDataSet1.IndexName := ´idx1´;
GOSTEI 0
Joaohenriquemf
15/11/2007
Amigo deu certo, agora sim ele valida com ´Key Violation´, como faço para tratar esta mensagem?
Obrigado!
Obrigado!
GOSTEI 0
Vitor Alcantara
15/11/2007
Segue um simples exemplo de tratamento de erros.
var e:exception; begin Try bla bla bla ClientDataSet.Post; Except on e:exception do begin //Testa a string do erro se encontra a mensage "Key Violation" if Pos(´Key Violation´, UpperCase(e.Message) ) > 0 then ShowMessage(´Registro duplicado´) else ShowMessage(e.Message); end; end; end;
GOSTEI 0
Joaohenriquemf
15/11/2007
Deu certo!Valew amigos.Obrigado!
GOSTEI 0