Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leonair

DBGrid + SQLQUERY

Recommended Posts

ola pessoa estou com o seguinte problema: estou usando uma sqlquery com a seguinte instrução

 

select

idade,

count(case sexo when 'masculino' then codigo end) masculino,

count(case sexo when 'feminino' then codigo end) feminino

from pesquisa3 group by idade

 

dessa maneira ela me retorna no dbgrid o campo idade contando e separando em masculino e feminino

 

idade masculino feminino

10-20 2 1

20-30 1 1

 

 

logo depois eu preciso fazer uma outra consulta mais que me retornara outras colunas, mais quando faço isso dá erro. o erro não é na consulta mais sim na hora de mostrar no dbgrid.

 

como faço para limpar o dbgrid para fazer ele receber essas novas colunas.

do usando nesse caso um sqlquery, um clientdataset, datasource e um datasetprovider

 

obs.: a sqlquery e o clientdataset são ativados em tempo de excecução, pois as tabelas utlizadas para consulta são tabelas criadas tb em tempo de excecução.

 

 

obrigado pessoal....

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso ira lhe ajudar

 

DBGrid1.Columns.Clear;

eu acho .. :D

 

ai você que está trabalhando com DBGrid

tenho uma duvida será que pode me ajuda?

http://forum.imasters.com.br/index.php?showtopic=263462

 

vlws.

 

amigo usando esse codigo não da certo ja havia tentado.....o problema e que quero limpar a estrutura do dbgrid...ex.:

na primeira consulta mostra no dbgrid 2 colunas, na outra quero que mostre tres...ai da erro, pois as seleções retornam numero de colunas diferentes...

 

 

mais valeu fera.....obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo deixa eu ver se eu posso lhe ajudar .

já que você ta usando uma query entao nao prescisa limpar o dbgrid.

pois so fechar a query e abrir de novo.

+ pra isso, você tem que relacionar o dbgrid com um datasouce ok.

 

se você ja fez isso , e nao deu certo.

tente fazer assim pra ver se dar certo,

dentro da query que você ta usando crie um parametro.

 

SELECT

IDADE,

COUNT(CASE SEXO WHEN 'MASCULINO' THEN CODIGO END) MASCULINO,

COUNT(CASE SEXO WHEN 'FEMININO' THEN CODIGO END) FEMININO

FROM

PESQUISA3

WHERE SEXO = :COUNT_

GROUP

BY

IDADE

 

if Edit1.Text = 'M' then begin

DBGrid1.Columns[0].Title.Caption := 'MASC...';

qrypesquisa3.close;

qrypesquisa.ParamByName('cont_').AsString := Edit1.Text;

qrypesquisa.open;

end

else

if Edit1.Text = 'F' then begin

DBGrid1.Columns[0].Title.Caption := 'FEM...';

qrypesquisa3.close;

qrypesquisa.ParamByName('cont_').AsString := Edit1.Text;

qrypesquisa3.open;

end;

 

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo não deu certo....eu to usando um clientdataset ligado a sqlquery.....toda vez que faço uma nova consulta o dbgrid aparece misturado os resultados da primeira consulta com a segunda...ja tentei limpar o CLientdatasete, mais não funicona....mais valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.