como preencher um dbgrid com dados de uma query_ - delphi - imasters fóruns
DESCRIPTION
Preencher DBGrid com QueryTRANSCRIPT
23/03/2015 Como preencher um DBGrid com dados de uma query? Delphi iMasters Fóruns
http://forum.imasters.com.br/topic/332325comopreencherumdbgridcomdadosdeumaquery/ 1/2
iMasters.com.br Revista iMasters Fórum 7Masters Códigos Cursos InterCon Box de Ferramentas Linux Magazine
Regras OffTopic Galeria de Imagens Avaliações Faça Login / Cadastrese
Como preencher um DBGrid com dados de uma query?Criado por Thiago Delalibera, 18/02
Thiago Delalibera
Vou tentar explicar o que to tentando fazer da forma mais clara possível, é o seguinte galera, no sistema
que to desenvolvendo (sou novo em delphi), todos os meus formulários de cadastro utilizam
SQLConnection e SQLQuery do dbExpress, meu banco de dados é Interbase, eu apenas configuro o
SQLConnection e o SQLQuery, mas deixo os dois como Active:=False, meus comandos para inserção no
banco de dados acontecem quando o usuário clica no botão Cadastrar.
Ex:
procedure TFormClientes.ButtonCadastrar(Sender: TObject);
begin
Query.Active:=False;
Query.SQL.Clear;
Query.SQL.Append('INSERT INTO ...');
Query.ExecSql;
ShowMessage('Cadastro efetuado com sucesso!');
end;
Da tudo certo, ele cadastra as informações no banco de dados, mas agora quero colocar esses dados no
dbgrid, sei que pelo dbExpress não tem jeito pq ele é unidirecional, então to usando os componentes do
interbase: TIBConnection e TIBQuery, não sei quais outros devo usar, DataSource? DataSet?
mas a questão principal é, quero colocar um TEdit e um botão Pesquisar como acima:
entao esse botão vai executar a query que vai alimentar o DBGrid,
algo do tipo:
procedure TFormClientes.ButtonCadastrar(Sender: TObject);
begin
Query.Active:=False;
Query.SQL.Clear;
Query.SQL.Append('SELECT * FROM TBL_CLIENTES WHERE CLIENTE= :Cli');
Query.ParamByName('Cli').AsString:=dbPesquisa.Text;
Query.Open;
end;
Ai ele ta pegando o conteúdo do Edit com nome de dbPesquisa e realizando a consulta... beleza! mas e ai
pra fazer isso aparecer no dbGrid??? :/
Obrigado desde já!
Postado
Estudante Corrupto
Também sou novo em delphi, mas pelo que eu sei, no DBGrid tem um campo chamado DataSource.
Você precisa criar um DataSource ligado à sua Query e no DataSource(do DBGRID) você coloca o Name
do componente Data Source, daê ele puxa tudo automático...
Tenta aí e me diz
Postado
Thiago Delalibera
então eu vi isso, mas eu não quero que ele pegue tudo automaticamente, alias quero só a primeira
consulta automatica sim, depois quero que ele apresente os dados conforme eu clico no botão pesquisa
Postado
Estudante Corrupto Postado
ESTATÍSTICAS DO FÓRUM
1 Usuários ativos
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)
SIGA O IMASTERS
23/03/2015 Como preencher um DBGrid com dados de uma query? Delphi iMasters Fóruns
http://forum.imasters.com.br/topic/332325comopreencherumdbgridcomdadosdeumaquery/ 2/2
iMasters Fóruns → Programação → Delphi
Este projeto é mantido e patrocinado pelas empresas:
Voltar para Delphi · Próximo Tópico Não Lido →
Quando tu desativa a query (active := false), o dbgrid que está ligado ao datasource que está ligada à
query (=x) fica em branco. faz um botão que dá um active := true que o dbgrid preenche denovo...
Chrnos
O melhor é usar os métodos open e close da query ao invés do active... mas se sua consulta não recebe
parâmetros, no onshow do form você pode dar o open na query e depois ir dando close e open no seu
botão de pesquisa.
[]'s
Postado
Elisei
Amigo, tente fazer o seguinte:
1) Deixe a propriedade active do componente query como false;
2) Ligue ao componente conexão que deverá estar LIGADO (active = true)
3) Ligue a propriedade DataSource do componente DBgrid no componente query
Pronto....
Como o SQL que voce esta montando está correto, ao executar a linha de comando Query.Open, o DBGrid
irá ser alimentado automaticamente com o resultado desta query.
Lembrese:
Se quiser uma consulta automática ao abrir o formulario, coloque os comandos da query no evento
Onshow do Form
Se quiser que apareça sua consulta quando clicar no botão, coloque no evento Onclick.
Simples assim.
Espero ter ajudado
Abraço
Postado
SOCIAL MEDIA
NEWSLETTERFique por dentro de todas as novidades,eventos, cursos, conteúdos exclusivos emuito mais.
Seu nome
Seu email
ENVIAR »
Sobre o iMastersPolítica de PrivacidadeFale conoscoiMasters Expert (english blog)
Copyright © 2014 Todos os direitos reservados