ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Validar campos dbgrid-clientdataset

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
flaviog
Novato
Novato


Registrado: Sábado, 9 de Junho de 2012
Mensagens: 5

MensagemEnviada: Qui Out 05, 2017 12:29 pm    Assunto: Validar campos dbgrid-clientdataset Responder com Citação

Olá pessoal.
Estou com uma dúvida em uma tela de cadastro. Gostaria de poder contar com a ajuda de vocês.
Apos uma breve pesquisa resolvi postar essa solicitação.
Ainda não experiencia com delphi.

Tenho que validar dois campos no dbgrid para que eles não se repita no lançamento.(apenas no lançamento atual. Por isso não podem serem primarykey).
A principio pensei em criar dois IndexDefs mas nao consigo valida-los separadamente, ou seja, so consegui valida-los se os dois estiverem repetidos na mesma linha. Se repetirem em linhas diferentes passam sem reclamar.
Então que consiga resolver dessa forma, se existir uma solução. Eu fiz do seguinte modo.
Criei um IndexDefs para um dos campos e configurei no cds como deve ser feito e o outro estou validando com um clonecds. Mas não gostei dessa solução.
Podem me ajudar?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rafaelskate7
Novato
Novato


Registrado: Terça-Feira, 26 de Fevereiro de 2013
Mensagens: 7

MensagemEnviada: Qua Out 11, 2017 5:37 pm    Assunto: Re: Validar campos dbgrid-clientdataset Responder com Citação

flaviog escreveu:
Olá pessoal.
Estou com uma dúvida em uma tela de cadastro. Gostaria de poder contar com a ajuda de vocês.
Apos uma breve pesquisa resolvi postar essa solicitação.
Ainda não experiencia com delphi.

Tenho que validar dois campos no dbgrid para que eles não se repita no lançamento.(apenas no lançamento atual. Por isso não podem serem primarykey).
A principio pensei em criar dois IndexDefs mas nao consigo valida-los separadamente, ou seja, so consegui valida-los se os dois estiverem repetidos na mesma linha. Se repetirem em linhas diferentes passam sem reclamar.
Então que consiga resolver dessa forma, se existir uma solução. Eu fiz do seguinte modo.
Criei um IndexDefs para um dos campos e configurei no cds como deve ser feito e o outro estou validando com um clonecds. Mas não gostei dessa solução.
Podem me ajudar?


Olá, o DBGrid é um resultado de uma consulta, logo acho que você pode validar direto na consulta... Ou percorrer cada linha do Grid e ir checando os campos utilizando o fieldByName do seu componente Query.

Boa sorte!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Qua Out 18, 2017 10:20 am    Assunto: Responder com Citação

Se são dados que não podem se repetir e for um banco de dados como o firebird por exemplo, você pode utilizar uma constraint do tipo unique, assim não será permitido duplicação de valores.

Eu tenho um sistema que utiliza desta forma, assim pode conjugar campos como nome, mãe/pai mais data de nascimento.
Ou você pode fazer isto com cpf ou cnpj que também são únicos.



bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB