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 

filtrar sqlite

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Mobile com Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
kakarlos
Experiente
Experiente


Registrado: Quinta-Feira, 30 de Setembro de 2010
Mensagens: 420

MensagemEnviada: Sáb Set 03, 2016 5:53 pm    Assunto: filtrar sqlite Responder com Citação

pessoal estou usando o delphi xe7 com base sqlite e fiz uma conexao para mostrar em uma grid ate ai blz.. o problema eh quando tento filtrar por um edit.. estou usando o seguinte codigo para filtrar::

Código:
 sqlquery1.active:= false;
        sqlquery1.SQL.Clear;
        sqlquery1.Sql.Add( 'select * from tabperfil where perfil like'+QuotedStr(edit1.Text)+'' );
      sqlquery1.Active:=true;

me retorna o seguinte erro "SQLQuery1:Type mismatch fr field 'id', expecting: Largeint actual: wideMemo"


alguem pode me ajudar


Editado pela última vez por kakarlos em Qua Set 07, 2016 3:06 pm, num total de 3 vezes
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Seg Set 05, 2016 11:44 am    Assunto: Responder com Citação

Citação:
SQLQuery1:Type mismatch fr field 'id', expecting: Largeint actual: wideMemo


Código:
Tipo de dados incompatível. Esperando: LargeInt. Atual: WideMemo


Como diz a mensagem de erro o tipo de dados deste campo está diferente no banco em relação aos fields do componente SqlQuery1.

Dê duplo clique no SQLQuery1 e remova os fields e adicione-os novamente.
_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
kakarlos
Experiente
Experiente


Registrado: Quinta-Feira, 30 de Setembro de 2010
Mensagens: 420

MensagemEnviada: Seg Set 05, 2016 7:58 pm    Assunto: Responder com Citação

natanbh1 escreveu:
Citação:
SQLQuery1:Type mismatch fr field 'id', expecting: Largeint actual: wideMemo


Código:
Tipo de dados incompatível. Esperando: LargeInt. Atual: WideMemo


Como diz a mensagem de erro o tipo de dados deste campo está diferente no banco em relação aos fields do componente SqlQuery1.

Dê duplo clique no SQLQuery1 e remova os fields e adicione-os novamente.


ola obrigado pela ajuda mas nao resolveu... alguma outra dica??
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Ter Set 06, 2016 8:36 am    Assunto: Responder com Citação

Verifique qual o tipo do campo criado no SQLQuery e qual o tipo do campo no banco de dados
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
kakarlos
Experiente
Experiente


Registrado: Quinta-Feira, 30 de Setembro de 2010
Mensagens: 420

MensagemEnviada: Ter Set 06, 2016 12:25 pm    Assunto: Responder com Citação

leo_cj escreveu:
Verifique qual o tipo do campo criado no SQLQuery e qual o tipo do campo no banco de dados


Ok mas estou trabalhando com o campo "perfil" e não com o "id"
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Ter Set 06, 2016 1:36 pm    Assunto: Responder com Citação

Como você faz um SELECT *, todos os campos da tabela são retornados no select, incluindo o ID, se você precisa apenas do campo perfil, pode utilizar assim:

Código:

sqlquery1.active:= false;
        sqlquery1.SQL.Clear;
        sqlquery1.Sql.Add( 'select perfil from tabperfil where perfil like'+QuotedStr(edit1.Text)+'' );
      sqlquery1.Active:=true;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
kakarlos
Experiente
Experiente


Registrado: Quinta-Feira, 30 de Setembro de 2010
Mensagens: 420

MensagemEnviada: Ter Set 06, 2016 8:50 pm    Assunto: Responder com Citação

leo_cj escreveu:
Como você faz um SELECT *, todos os campos da tabela são retornados no select, incluindo o ID, se você precisa apenas do campo perfil, pode utilizar assim:

Código:

sqlquery1.active:= false;
        sqlquery1.SQL.Clear;
        sqlquery1.Sql.Add( 'select perfil from tabperfil where perfil like'+QuotedStr(edit1.Text)+'' );
      sqlquery1.Active:=true;


faz sentido mas nao resolveu .. agora esta dando "Field "id" not found"
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
kakarlos
Experiente
Experiente


Registrado: Quinta-Feira, 30 de Setembro de 2010
Mensagens: 420

MensagemEnviada: Qua Set 07, 2016 1:24 pm    Assunto: Responder com Citação

um teste que fiz foi com este codigo
Código:
SQLQuery1.Sql.Add( 'select  *from tabperfil where perfil like "teste"' );


e ai sim funciona perfeitamente....
estranho. alguma ideia??
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
kakarlos
Experiente
Experiente


Registrado: Quinta-Feira, 30 de Setembro de 2010
Mensagens: 420

MensagemEnviada: Qua Set 07, 2016 1:49 pm    Assunto: Responder com Citação

CONSEGUI RESOLVER este problema

Código:

SQLQuery1.Sql.Add( 'select *from tabperfil where perfil like '+('"%'+edit1.Text)+'%"' );



bastou acrescentar " "...

Porem se eu escrever algo que nao contem no banco me retorna erro
o primeiro erro novamente...

estou achando que o erro eh motivado por que estou listando em uma stringgrid e acho que o erro eh relacionado por estar vazia quando nao encontra;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
kakarlos
Experiente
Experiente


Registrado: Quinta-Feira, 30 de Setembro de 2010
Mensagens: 420

MensagemEnviada: Qua Set 07, 2016 5:21 pm    Assunto: Responder com Citação

realmente apos muito quebrar a cabeca consegui entender o porque... tenho uma stringgrid com um link na sqlquery e quando faço o filtro na sqlquery e me retorna erro a stringgrid me retorna erro.. deve ser por estar fazia.. pois some ate os titulos dela..
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 -> Mobile com 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