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 

Como fazer um filtro, para nao cadastrar 2 nomes iguais?

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


Registrado: Terça-Feira, 27 de Janeiro de 2009
Mensagens: 2

MensagemEnviada: Ter Jan 27, 2009 8:36 am    Assunto: Como fazer um filtro, para nao cadastrar 2 nomes iguais? Responder com Citação

Bem, estou tentando fazer um filtro em minha aplicação, embora nao seja tao complexo isto, nao estou conseguindo faze-lo.

o filtro que eu fiz esta assim, mais ainda nao esta funcionando, se alguem puder dar uma luz, ficaria muito grato.

e esta dando esse erro tbm "cold not convert variant of type (null) into type (string)"

===========================================
===========================================
procedure Tfrm_cad_rua.btgravarClick(Sender: TObject);
begin

q_filtro.close;
q_filtro.Active := false;
q_filtro.sql.clear;
q_filtro.sql.add('Select * from RUA where NOME_RUA = %' + quotedstr(dbedit2.field.value) + '%');
q_filtro.Active := true;
q_filtro.Open;
q_filtro.fetchall;

if q_filtro.recordcount > 0 then
showmessage('Rua jah existe');
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
marcellomm
Colaborador
Colaborador


Registrado: Segunda-Feira, 7 de Novembro de 2005
Mensagens: 1045

MensagemEnviada: Ter Jan 27, 2009 8:40 am    Assunto: Responder com Citação

Na verdade não seria um filtro e sim uma pesquisa com locate e losensitive. Antes de postar deve ser pesquisado se o cliente já existe.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
temuchin
Profissional
Profissional


Registrado: Segunda-Feira, 12 de Dezembro de 2005
Mensagens: 584
Localização: Marte

MensagemEnviada: Ter Jan 27, 2009 10:19 am    Assunto: Responder com Citação

Olá

Tente novamente, alterando o SQL...
Código:

q_filtro.sql.add( 'Select * from RUA where upper( NOME_RUA ) = ' + quotedstr( upperCase( dbedit2.text ) ) );


O % deve ser usado com o LIKE. Assim:
WHERE nome LIKE 'Maria%' - todos os nomes que começam com Maria.
WHERE nome LIKE '%Maria' - todos os nomes que terminam com Maria.
WHERE nome LIKE '%Maria%' - todos os nomes que contém Maria.

Espero ter ajudado.

Abraço
_________________
A santidade dos pobres é invenção dos ricos

if ( topico.resolvido = true ) then begin
    titulo.caption := topico.titulo + ' [RESOLVIDO] ';
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Gaiato
Novato
Novato


Registrado: Terça-Feira, 27 de Janeiro de 2009
Mensagens: 2

MensagemEnviada: Ter Jan 27, 2009 11:32 am    Assunto: Responder com Citação

Opa, resolvido... deu certo a mudança no sql ali Smile
brigadao mesmo!
abraços
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
MARCZEWSKI
Membro Junior
Membro Junior


Registrado: Terça-Feira, 9 de Dezembro de 2008
Mensagens: 337

MensagemEnviada: Ter Jan 27, 2009 10:23 pm    Assunto: Responder com Citação

Gaiato escreveu:
Opa, resolvido... deu certo a mudança no sql ali Smile
brigadao mesmo!
abraços


caso seu problema ja tenha sido sanado, daria para vc editar o titulo do topico acrescentando [Resolvido]??? Nao é regra do forum, é so por questao de organizaçao mesmo.

campanha, veja: http://www.activedelphi.com.br/forum/viewtopic.php?t=45146


grato,
_________________
Estarei um pouco ausente do forum por um tempo!!!

Caso seja importante, mande MP(duvidas somente no forum)

grato,
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9100
Localização: Sinop-MT

MensagemEnviada: Qua Jan 28, 2009 10:12 am    Assunto: Responder com Citação

so uma dica: nao seria mais facil criar uma chave unique no banco?
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
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