Fórum Validação em ClientDataSet #316510
17/03/2006
0
Para pegar o tipo de endereço, utilizo um lookup com os tipos possíveis.
Pensei em fazer com arrays, mas acho que não é a melhor solução.
Tem como fazer isto no momento da digitação ou na hora de gravar?
Atenciosamente,
Rodolfo
Rodolfo.pirolo
Curtir tópico
+ 0Posts
18/03/2006
Thomaz_prg
Gostei + 0
18/03/2006
Rodolfo.pirolo
Como faria isto dentro do clientdataset? Trabalho com stored procedure para acessar o banco.
Atenciosamente,
Rodolfo
Gostei + 0
18/03/2006
Martins
Vc está usando cds, então clique na propriedade IndexDefs do cds, crie um indice á em Options e marque [b:a442e59304]Unique[/b:a442e59304], em Field ponha o campo q vc quer q seja o indice, é básicamente isso, estou sem o Delphi instalado aqui, pois estou no Cyber.
Qualquer coisa posta aqui novamente.
Gostei + 0
18/03/2006
Rodolfo.pirolo
Funcionou em partes, só que dá mensagem de ´Key violation´, quando vou sair do registro.
Em qual evento do dbgrid posso tratar este erro?
Atenciosamente,
Rodolfo
Gostei + 0
18/03/2006
Paullsoftware
Gostei + 0
18/03/2006
Rodolfo.pirolo
Desculpe-me, mas como faço isto? Sou iniciante, não tenho muito conhecimento.
Atenciosamente,
Rodolfo
Gostei + 0
18/03/2006
Martins
No Cds tem um Evento Chamado [b:1aeb933701]AfterPost[/b:1aeb933701]
Mas nesse caso para tratar melhor esse erro no cds, podemos utilizar o evento [b:1aeb933701]OnPostError[/b:1aeb933701], escrevendo o seguinde código.
var Emsg :String; begin Emsg := E.Message; if Emsg = ´Key violation.´ then begin ShowMessage( ´Já existe um registro com essa informação! ´ ); action := daAbort; Cds.CancelUpdates; end; end;
Teste esse código e depois post aqui o resultado por favor.
Boa sorte!!!!
Gostei + 0
18/03/2006
Paullsoftware
No Cds tem um Evento Chamado [b:adf310954c]AfterPost[/b:adf310954c]
Mas nesse caso para tratar melhor esse erro no cds, podemos utilizar o evento [b:adf310954c]OnPostError[/b:adf310954c], escrevendo o seguinde código.
var Emsg :String; begin Emsg := E.Message; if Emsg = ´Key violation.´ then begin ShowMessage( ´Já existe um registro com essa informação! ´ ); action := daAbort; Cds.CancelUpdates; end; end;
Teste esse código e depois post aqui o resultado por favor.
Boa sorte!!!![/quote:adf310954c]
[b:adf310954c]valeu Martins![/b:adf310954c]...
mais complementando, a mensagem é informada certo? e como fazemos para focar o controle com a informação incorreta, no caso de termos mais de um campo com o valor [b:adf310954c]Unique[/b:adf310954c]??
Gostei + 0
18/03/2006
Rodolfo.pirolo
O funcionou legal, muito obrigado pela ajuda de voces :!:
Rodolfo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)