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 

ZQuery: Field not found

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


Registrado: Sábado, 7 de Junho de 2014
Mensagens: 6

MensagemEnviada: Ter Jul 22, 2014 1:19 pm    Assunto: ZQuery: Field not found Responder com Citação

Caros, ainda tenho algumas dúvidas sobre a ferramenta zeos.

Preciso fazer com que um Edit receba um dado de uma coluna da tabela com base em um dado inserido num outro Edit para o código.

Ex.: Inserindo o código 16 no edit1 teria que aparecer o nome fantasia 'zezinho ltda' do cliente de código 16.

No meu form tenho os 2 edits e um botão para efetuar esse processo.

Agora segue o código que estou utilizando para isso:

Código:
procedure TForm1.Button1Click(Sender: TObject);
begin
  DataModule2.ZQuery1.SQL.Clear;
  DataModule2.ZQuery1.SQL.Add('select fantasia from cliente where codigo = :pCod');
  DataModule2.ZQuery1.ParamByName('pCod').AsInteger := StrToInt(Edit1.Text);
  DataModule2.ZQuery1.ExecSQL;
  Edit2.Text := DataModule2.ZQuery1.FieldByName('fantasia').AsString;
end;


Mas quando eu rodo a aplicação e coloco o código 16 e aperto o Button1 ele dá erro dizendo: 'ZQuery1: field 'fantasia' not found.

Por que raios ele não encontra o dado da coluna? Question Question
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Ter Jul 22, 2014 1:32 pm    Assunto: Re: ZQuery: Field not found Responder com Citação

Já tentou rodar esse SQL fora do Delphi, por ex, no IBExpert pra ver se o corre o mesmo erro? Este campo existe na tabela? Você adicionou os Fields no dataset?
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
CimentoMan
Novato
Novato


Registrado: Sábado, 7 de Junho de 2014
Mensagens: 6

MensagemEnviada: Ter Jul 22, 2014 1:39 pm    Assunto: Re: ZQuery: Field not found Responder com Citação

wjuniordias escreveu:
Já tentou rodar esse SQL fora do Delphi, por ex, no IBExpert pra ver se o corre o mesmo erro? Este campo existe na tabela? Você adicionou os Fields no dataset?


Sim.

Executei o mesmo código em sql no pgadmin e ele me retorna o valor desejado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Ter Jul 22, 2014 2:08 pm    Assunto: Re: ZQuery: Field not found Responder com Citação

Então, como vc está passando o SQL em tempo de execução, não é interessante add os fields no dataset.
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
CimentoMan
Novato
Novato


Registrado: Sábado, 7 de Junho de 2014
Mensagens: 6

MensagemEnviada: Ter Jul 22, 2014 2:16 pm    Assunto: Re: ZQuery: Field not found Responder com Citação

wjuniordias escreveu:
Então, como vc está passando o SQL em tempo de execução, não é interessante add os fields no dataset.


Na verdade não estão adicionados os fields no dataset.
Eu setei as propriedades do ZConnection e do ZQuery em tempo de execução, no OnCreate do DataModule.

Nem sei o que fazer mais para funcionar isso... Rolling Eyes
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Ter Jul 22, 2014 2:34 pm    Assunto: Re: ZQuery: Field not found Responder com Citação

A sim, tente dar um "Open" ao invés de "ExecSQL"; Wink
Dica:

Query com comandos Insert, Update, Delete use "ExecSQL";
Query com comandos Select use "Open".
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
natanbh1
Colaborador
Colaborador


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

MensagemEnviada: Ter Jul 22, 2014 2:45 pm    Assunto: Responder com Citação

Não sei está relacionado ao seu problema, mas testa aí.

Quando usar select 'Select' utilize o 'Open' e não o 'ExeqSql'.

Código:


procedure TForm1.Button1Click(Sender: TObject);
begin
  DataModule2.ZQuery1.SQL.Clear;
  DataModule2.ZQuery1.SQL.Add('select fantasia from cliente where codigo = :pCod');
  DataModule2.ZQuery1.ParamByName('pCod').AsInteger := StrToInt(Edit1.Text);
  DataModule2.ZQuery1.Open;
 
 Edit2.Text := DataModule2.ZQuery1.FieldByName('fantasia').AsString;
end;


_________________
''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
CimentoMan
Novato
Novato


Registrado: Sábado, 7 de Junho de 2014
Mensagens: 6

MensagemEnviada: Ter Jul 22, 2014 3:06 pm    Assunto: Re: ZQuery: Field not found Responder com Citação

wjuniordias escreveu:
A sim, tente dar um "Open" ao invés de "ExecSQL"; Wink
Dica:

Query com comandos Insert, Update, Delete use "ExecSQL";
Query com comandos Select use "Open".



Muito obrigado wjuniordias! Era isso mesmo!!
Obrigado também ao natanbh1.

Esses detalhes ainda vão me matar... Laughing Laughing Laughing Laughing
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wjuniordias
Profissional
Profissional


Registrado: Sexta-Feira, 16 de Março de 2012
Mensagens: 667

MensagemEnviada: Ter Jul 22, 2014 3:19 pm    Assunto: Re: ZQuery: Field not found Responder com Citação

Wink tudo de bom.
_________________
"O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário 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