Consulta não executa
Estou desenvolvendo um pequeno software de controle de estoque. Nada grande. Até sexta-feira passada, dia 06/03/2015... tudo estava funcionando perfeitamente... Porém, ontem, 10/03/2015, ... quando fui retomar o projeto, percebi que nenhuma das minhas consultas são executadas. Eu clico no botão localizar, que deve procurar dentro da minha tabela por uma determinada informação e nada acontece, nem erro, nem movimentação na tabela... NADA.
Pensei que pudesse ser validade de algum componente, mas abri outro projeto... muito maior... e está tudo funcionando corretamente.
Segue abaixo um exemplo da minha consulta.
dm_.ZQryClientes.Close;
dm_.ZQryClientes.SQL.Clear;
dm_.ZQryClientes.SQL.Add('Select * from clientes WHERE (nome_completo LIKE' + ''''+'%'+EdtLocalizador.Text+'%'+''') ORDER BY nome');
dm_.ZQryClientes.Open;
Obs.: EdtLocalizador é o Edit onde o usuário digita a informação a ser filtrada.
Nenhum atributo foi desativado, retomei do ponto exato onde havia parado... e preocupa-me, pois se não encontrar o motivo terei que recomeçar o projeto e o prazo de entrega está expirando. Eu já estava com 2/3 do projeto pronto.
Será que alguém aqui já passou por isso ou tem uma ideia do que possa ter acontecido?
Utilizo:
Delphi XE3
MySQL
e ZeosLib como componente de acesso.
Fico no aguardo.
Pensei que pudesse ser validade de algum componente, mas abri outro projeto... muito maior... e está tudo funcionando corretamente.
Segue abaixo um exemplo da minha consulta.
dm_.ZQryClientes.Close;
dm_.ZQryClientes.SQL.Clear;
dm_.ZQryClientes.SQL.Add('Select * from clientes WHERE (nome_completo LIKE' + ''''+'%'+EdtLocalizador.Text+'%'+''') ORDER BY nome');
dm_.ZQryClientes.Open;
Obs.: EdtLocalizador é o Edit onde o usuário digita a informação a ser filtrada.
Nenhum atributo foi desativado, retomei do ponto exato onde havia parado... e preocupa-me, pois se não encontrar o motivo terei que recomeçar o projeto e o prazo de entrega está expirando. Eu já estava com 2/3 do projeto pronto.
Será que alguém aqui já passou por isso ou tem uma ideia do que possa ter acontecido?
Utilizo:
Delphi XE3
MySQL
e ZeosLib como componente de acesso.
Fico no aguardo.
Aloisio Santos
Curtidas 0
Respostas
Marisiana Battistella
11/03/2015
Ocorre algum erro?
Verificou se a conexão com o banco de dados no componente está ativa?
Verificou se a conexão com o banco de dados no componente está ativa?
GOSTEI 0
Aloisio Santos
11/03/2015
Ocorre algum erro?
Verificou se a conexão com o banco de dados no componente está ativa?
Verificou se a conexão com o banco de dados no componente está ativa?
Está sim. Tanto que o DBNavigator funciona corretamente.
GOSTEI 0
Renato Rubinho
11/03/2015
O seu Grid deve ter perdido o DataSource.
GOSTEI 0
Aloisio Santos
11/03/2015
O seu Grid deve ter perdido o DataSource.
Não. Tanto já revisei suas propriedades como também substitui o Grid. Sem falar que o mesmo acontece no resultado a ser impresso nos relatórios. mesmo filtrando, o resultado são todos os dados da tabela.
GOSTEI 0
Renato Rubinho
11/03/2015
Veja se os Fields do ZQryClientes não estão como Visible = False.
Tira as condições da Query para ver se não há um problema no resultado, trazendo tudo.
Coloca um try..except no open para verificar se não está ocorrendo algum erro em tempo de execução.
Tira as condições da Query para ver se não há um problema no resultado, trazendo tudo.
Coloca um try..except no open para verificar se não está ocorrendo algum erro em tempo de execução.
GOSTEI 0
Marisiana Battistella
11/03/2015
Pro-Luck, a sugestão do rrubinho resolve o problema?
GOSTEI 0
Aloisio Santos
11/03/2015
Pro-Luck, a sugestão do rrubinho resolve o problema?
Infelizmente ainda não. Testei todas as sugestões, mas, nada ainda. Não precisei tirar as condições, pois a única resposta das consultas são justamente todos os dados.
GOSTEI 0
Renato Rubinho
11/03/2015
Pro-Luck,
Não acredito que deveria dar problema, mas olhando seu comando, entre o LIKE e o '% (ignorando a concatenação pascal) deveria ter um espaço.
Talvez, por alguma falha no Zeos, isso possa estar influenciando.Tenta isso.
Se não funcionar, por desencargo, tenta um select sem condições porque como está estranho isso, pode ser que o Edt esteja enviando "lixo" para o comando.
Mais uma verificação é debugar e, antes do Open, capturar o comando montado e utilizá-lo no IB Expert, Sql Explorer, etc.
Não acredito que deveria dar problema, mas olhando seu comando, entre o LIKE e o '% (ignorando a concatenação pascal) deveria ter um espaço.
Talvez, por alguma falha no Zeos, isso possa estar influenciando.Tenta isso.
// Antigo
dm_.ZQryClientes.SQL.Add('Select * from clientes WHERE (nome_completo LIKE' + ''''+'%'+EdtLocalizador.Text+'%'+''') ORDER BY nome');
// Novo
dm_.ZQryClientes.SQL.Add('Select * from clientes WHERE (nome_completo LIKE ' + ''''+'%'+EdtLocalizador.Text+'%'+''') ORDER BY nome');
Se não funcionar, por desencargo, tenta um select sem condições porque como está estranho isso, pode ser que o Edt esteja enviando "lixo" para o comando.
dm_.ZQryClientes.SQL.Add('Select * from clientes');
Mais uma verificação é debugar e, antes do Open, capturar o comando montado e utilizá-lo no IB Expert, Sql Explorer, etc.
dm_.ZQryClientes.SQL.Text;
GOSTEI 0