Os campos não aparecem corretamente no DBGrid com a instrução SQL
29/10/2023
0
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
Post mais votado
01/11/2023
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?
Fábio Lopes
Mais Posts
30/10/2023
Arthur Heinrich
31/10/2023
Mauricio Bomfim
31/10/2023
Emerson Nascimento
os campos estão persisitidos no dataset (fields) ?
01/11/2023
Arthur Heinrich
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.
Clique aqui para fazer login e interagir na Comunidade :)