O DBGrid não atualiza

31/08/2019

0

Boa Noite,
Tenho a seguinte situação:
-Uma tabela AdoQuery que recebe o seguinte select: Setect * from funcionarios where codfun=:Parcdfunc
- A esta query esta ligado um datasource.
- tenho um formulário onde esta uma DBGRID ligada ao datasorce da tabela a cima.

A Situação é a seguinte: Quando eu passo o parametro pra tabela. Exemplo Tabela.Close;
Tabela.parameter.parambyname('Parcdfunc').value:=100
Tabela.Open;
Quando eu faço isto funciona beleza, a dbgrid traz certinho os dados da query, porem se eu executar o processo novamente e informar outro valor pro parametro Ex.

Tabela.Close;
Tabela.parameter.parambyname('Parcdfunc').value:=200
Tabela.Open;
Ai ocorre o problema, a eu ja trouxe os valores da query pra ver se ele esta atualizada e sim ela traz os valores atualizados. O Problema é a Dbgrid, ela permanece com os valores da primeira seleção, não importa o que eu faça, ja dei close open na tabela, ja dei ative=true e false, ja fiz uma série de coisas que achei nos foruns mas nada resolveu, alguem tem ideia do que eu posso fazer?
Amauri Alves

Amauri Alves

Responder

Posts

01/09/2019

Claudio Andrade

Boa Noite,
Tenho a seguinte situação:
-Uma tabela AdoQuery que recebe o seguinte select: Setect * from funcionarios where codfun=:Parcdfunc
- A esta query esta ligado um datasource.
- tenho um formulário onde esta uma DBGRID ligada ao datasorce da tabela a cima.

A Situação é a seguinte: Quando eu passo o parametro pra tabela. Exemplo Tabela.Close;
Tabela.parameter.parambyname('Parcdfunc').value:=100
Tabela.Open;
Quando eu faço isto funciona beleza, a dbgrid traz certinho os dados da query, porem se eu executar o processo novamente e informar outro valor pro parametro Ex.

Tabela.Close;
Tabela.parameter.parambyname('Parcdfunc').value:=200
Tabela.Open;
Ai ocorre o problema, a eu ja trouxe os valores da query pra ver se ele esta atualizada e sim ela traz os valores atualizados. O Problema é a Dbgrid, ela permanece com os valores da primeira seleção, não importa o que eu faça, ja dei close open na tabela, ja dei ative=true e false, ja fiz uma série de coisas que achei nos foruns mas nada resolveu, alguem tem ideia do que eu posso fazer?



Veja se ajuda:

DBGid.Refresh;
Responder

02/09/2019

Amauri Alves

Boa Noite,
Tenho a seguinte situação:
-Uma tabela AdoQuery que recebe o seguinte select: Setect * from funcionarios where codfun=:Parcdfunc
- A esta query esta ligado um datasource.
- tenho um formulário onde esta uma DBGRID ligada ao datasorce da tabela a cima.

A Situação é a seguinte: Quando eu passo o parametro pra tabela. Exemplo Tabela.Close;
Tabela.parameter.parambyname('Parcdfunc').value:=100
Tabela.Open;
Quando eu faço isto funciona beleza, a dbgrid traz certinho os dados da query, porem se eu executar o processo novamente e informar outro valor pro parametro Ex.

Tabela.Close;
Tabela.parameter.parambyname('Parcdfunc').value:=200
Tabela.Open;
Ai ocorre o problema, a eu ja trouxe os valores da query pra ver se ele esta atualizada e sim ela traz os valores atualizados. O Problema é a Dbgrid, ela permanece com os valores da primeira seleção, não importa o que eu faça, ja dei close open na tabela, ja dei ative=true e false, ja fiz uma série de coisas que achei nos foruns mas nada resolveu, alguem tem ideia do que eu posso fazer?



Veja se ajuda:

DBGid.Refresh;
Responder

02/09/2019

Amauri Alves

Boa Noite,
Tenho a seguinte situação:
-Uma tabela AdoQuery que recebe o seguinte select: Setect * from funcionarios where codfun=:Parcdfunc
- A esta query esta ligado um datasource.
- tenho um formulário onde esta uma DBGRID ligada ao datasorce da tabela a cima.

A Situação é a seguinte: Quando eu passo o parametro pra tabela. Exemplo Tabela.Close;
Tabela.parameter.parambyname('Parcdfunc').value:=100
Tabela.Open;
Quando eu faço isto funciona beleza, a dbgrid traz certinho os dados da query, porem se eu executar o processo novamente e informar outro valor pro parametro Ex.

Tabela.Close;
Tabela.parameter.parambyname('Parcdfunc').value:=200
Tabela.Open;
Ai ocorre o problema, a eu ja trouxe os valores da query pra ver se ele esta atualizada e sim ela traz os valores atualizados. O Problema é a Dbgrid, ela permanece com os valores da primeira seleção, não importa o que eu faça, ja dei close open na tabela, ja dei ative=true e false, ja fiz uma série de coisas que achei nos foruns mas nada resolveu, alguem tem ideia do que eu posso fazer?



Veja se ajuda:

DBGid.Refresh;


Obrigado pelo retorno mas a situação não mudou
Responder

04/09/2019

Ricardo Araujo

Boa tarde,

Precisa fechar e abrir a tabela tá atualiza no dbgrid.

Responder

07/09/2019

Amauri Alves

Boa Noite,
Tenho a seguinte situação:
-Uma tabela AdoQuery que recebe o seguinte select: Setect * from funcionarios where codfun=:Parcdfunc
- A esta query esta ligado um datasource.
- tenho um formulário onde esta uma DBGRID ligada ao datasorce da tabela a cima.

A Situação é a seguinte: Quando eu passo o parametro pra tabela. Exemplo Tabela.Close;
Tabela.parameter.parambyname('Parcdfunc').value:=100
Tabela.Open;
Quando eu faço isto funciona beleza, a dbgrid traz certinho os dados da query, porem se eu executar o processo novamente e informar outro valor pro parametro Ex.

Tabela.Close;
Tabela.parameter.parambyname('Parcdfunc').value:=200
Tabela.Open;
Ai ocorre o problema, a eu ja trouxe os valores da query pra ver se ele esta atualizada e sim ela traz os valores atualizados. O Problema é a Dbgrid, ela permanece com os valores da primeira seleção, não importa o que eu faça, ja dei close open na tabela, ja dei ative=true e false, ja fiz uma série de coisas que achei nos foruns mas nada resolveu, alguem tem ideia do que eu posso fazer?




Bom dia pessoal,
Consegui resolver da seguinte forma:

depois de dar close na tabela eu desabilito o datasourte Na dbgrid

Db_ResPro.DataSource.Enabled:=false;


Antes de dar open na tabela eu aponto novamente o datasource na dbgrid

Db_ResPro.DataSource:=DmAtbGerEst.DS_Qry_EstPro;

***********************************************************
o código ficou assim
***********************************************************
DmAtbGerEst.Qry_EstPro.Close;
Db_ResPro.DataSource.Enabled:=false;
DmAtbGerEst.Qry_EstPro.Parameters.ParamByName('PrmDatIni01').Value:=StrToDate(ME_Dtaini.Text);
DmAtbGerEst.Qry_EstPro.Parameters.ParamByName('PrmDatFim01').Value:=StrToDate(ME_Dtafim.Text);
DmAtbGerEst.Qry_EstPro.Parameters.ParamByName('PrmDatIni02').Value:=StrToDate(ME_Dtaini.Text);
DmAtbGerEst.Qry_EstPro.Parameters.ParamByName('PrmDatFim02').Value:=StrToDate(ME_Dtafim.Text);
DmAtbGerEst.Qry_EstPro.Parameters.ParamByName('PrmDatIni03').Value:=StrToDate(ME_Dtaini.Text);
DmAtbGerEst.Qry_EstPro.Parameters.ParamByName('PrmDatFim03').Value:=StrToDate(ME_Dtafim.Text);
Db_ResPro.DataSource:=DmAtbGerEst.DS_Qry_EstPro;
DmAtbGerEst.Qry_EstPro.Open;
************************************************************
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar