Os campos não aparecem corretamente no DBGrid com a instrução SQL
criei um procedimento com SQL para mostrar os
dados no DBGrid e também para consultar registros. Acontece que
os dados na DBGrid não aparecem corretamente de acordo com a
instrução SQL. Alguém pode me ajudar a corrigir o erro.
procedure TfrmNomeHQ.Pesquisar;
var
SQL : String;
FiltroPesquisa : string;
begin
SQL := 'Select e.Nome as Editora , n.Descricao as Nome' +
'from Editora e join NomeHQ n ' +
'on n.ID_Editora = e.Id order by e.Nome,n.Descricao';
FiltroPesquisa := TUtilitarios.LikeFind(edtPesquisar.Text, DBGrid1);
dmNomeHQ.cdsNomeHQ.Close;
dmNomeHQ.cdsNomeHQ.CommandText := 'Select * from NomeHQ where 1 = 1' + FiltroPesquisa;
dmNomeHQ.cdsNomeHQ.Open;
inherited;
end;
dados no DBGrid e também para consultar registros. Acontece que
os dados na DBGrid não aparecem corretamente de acordo com a
instrução SQL. Alguém pode me ajudar a corrigir o erro.
procedure TfrmNomeHQ.Pesquisar;
var
SQL : String;
FiltroPesquisa : string;
begin
SQL := 'Select e.Nome as Editora , n.Descricao as Nome' +
'from Editora e join NomeHQ n ' +
'on n.ID_Editora = e.Id order by e.Nome,n.Descricao';
FiltroPesquisa := TUtilitarios.LikeFind(edtPesquisar.Text, DBGrid1);
dmNomeHQ.cdsNomeHQ.Close;
dmNomeHQ.cdsNomeHQ.CommandText := 'Select * from NomeHQ where 1 = 1' + FiltroPesquisa;
dmNomeHQ.cdsNomeHQ.Open;
inherited;
end;
Mauricio Bomfim
Curtidas 0
Melhor post
Fábio Lopes
01/11/2023
Você está atribuindo a query principal a uma variável do tipo String, mas não faz nada com ela.
Sim, mas essa primeira parte é somente para mostrar os dados corretamente e segunda parte é a consulta. Como você acha que deve ficar o código?Acho que a ideia seria você utilizar sua variável "SQL", concatenando a cláusula where e seu respectivo critério diretamente na propriedade CommandText.
Algo assim:
dmNomeHQ.cdsNomeHQ.CommandText := SQL + '' where 1 = 1'' + FiltroPesquisa;
Correto?
GOSTEI 1
Mais Respostas
Arthur Heinrich
29/10/2023
Você está atribuindo a query principal a uma variável do tipo String, mas não faz nada com ela.
GOSTEI 0
Mauricio Bomfim
29/10/2023
Você está atribuindo a query principal a uma variável do tipo String, mas não faz nada com ela.
Sim, mas essa primeira parte é somente para mostrar os dados corretamente e segunda parte é a consulta. Como você acha que deve ficar o código?
GOSTEI 0
Emerson Nascimento
29/10/2023
os campos estão persisitidos na grade (columns) ?
os campos estão persisitidos no dataset (fields) ?
os campos estão persisitidos no dataset (fields) ?
GOSTEI 0
Arthur Heinrich
29/10/2023
Sim, mas essa primeira parte é somente para mostrar os dados corretamente e segunda parte é a consulta. Como você acha que deve ficar o código?
Eu não sei como deve ser o seu código.
Porém, se você não executou a consulta, ainda, como pode esperar que os dados sejam mostrados corretamente?
Eu costumo testar a query manualmente. Quando ela retorna o dado exatamente como eu quero que seja exibido, aí coloco a query na aplicação e exibo no grid, que deveria retornar o dado da mesma forma.
GOSTEI 0