como preencher um dbgrid com dados de uma query_ - delphi - imasters fóruns

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 gale que to desenvolvendo (sou novo em delphi), todos os meus formulários de cadastro utiliz SQLConnection e SQLQuery do dbExpress, meu banco de dados é Interbase, eu apenas co SQLConnection e o SQLQuery, mas deixo os dois como Active:=False, meus comandos pa 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 es dbgrid, sei que pelo dbExpress não tem jeito pq ele é unidirecional, então to usando os co interbase: TIBConnection e TIBQuery, não sei quais outros devo usar, DataSource? DataS 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... b 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 Da Você precisa criar um DataSource ligado à sua Query e no DataSource(do DBGRID) você c 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 p consulta automatica sim, depois quero que ele apresente os dados conforme eu clico no b 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

Upload: jura-costa

Post on 21-Dec-2015

26 views

Category:

Documents


1 download

DESCRIPTION

Preencher DBGrid com Query

TRANSCRIPT

Page 1: Como Preencher Um DBGrid Com Dados de Uma Query_ - Delphi - IMasters Fóruns

23/03/2015 Como preencher um DBGrid com dados de uma query? ­ Delphi ­ iMasters Fóruns

http://forum.imasters.com.br/topic/332325­como­preencher­um­dbgrid­com­dados­de­uma­query/ 1/2

iMasters.com.br Revista iMasters Fórum 7Masters Códigos Cursos InterCon Box de Ferramentas Linux Magazine

Regras Off­Topic Galeria de Imagens Avaliações Faça Login / Cadastre­se

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

Page 2: Como Preencher Um DBGrid Com Dados de Uma Query_ - Delphi - IMasters Fóruns

23/03/2015 Como preencher um DBGrid com dados de uma query? ­ Delphi ­ iMasters Fóruns

http://forum.imasters.com.br/topic/332325­como­preencher­um­dbgrid­com­dados­de­uma­query/ 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.

Lembre­se:

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

[email protected]

NEWSLETTERFique por dentro de todas as novidades,eventos, cursos, conteúdos exclusivos emuito mais.

Seu nome

Seu e­mail

ENVIAR »

Sobre o iMastersPolítica de PrivacidadeFale conoscoiMasters Expert (english blog)

Copyright © 2014 Todos os direitos reservados