Count SQL nao ta funcionando...
não estou conseguindo dar o Ar da Graça no meu Count...
Quando clico no botao, ele trava o programa...
está assim...
Faz tempo q tenho esta duvida...
Obrigado.
Quando clico no botao, ele trava o programa...
está assim...
datamodule1.TbArqHist.SQL.Clear; datamodule1.TbArqHist.SQL.add(´select count(*) as qtd from arq_hist where inscricao =1050´); datamodule1.TbArqHist.ParamByName(´insc´).AsString:=edit1.text; datamodule1.TbArqHist.open; teste.Caption := datamodule1.TbArqHist.Fields[0].AsString;
Faz tempo q tenho esta duvida...
Obrigado.
Geisonc
Curtidas 0
Respostas
Geisonc
24/11/2005
esqueci de avisar.. estou usando firebird. com o isql, funciona perfeito, mas no codigo do programa ele ta travando..
GOSTEI 0
Edilcimar
24/11/2005
select count(*) ? não seria select count(nomecampo) as qtd?
GOSTEI 0
Emerson Nascimento
24/11/2005
tente assim:
with datamodule1.TbArqHist do begin SQL.Clear; SQL.add(´select count(*) as qtd from arq_hist where inscricao = :insc´); ParamByName(´insc´).AsString := edit1.text; Open; teste.Caption := Fields[0].AsString; end;
GOSTEI 0
Geisonc
24/11/2005
não consegui nem colocando o campo no lugar de (*) e nem do jeito que o emerson.en explicou...
ele executa o comando porem o programa fica como (não respondendo) ...
ele executa o comando porem o programa fica como (não respondendo) ...
GOSTEI 0
Emerson Nascimento
24/11/2005
with datamodule1.TbArqHist do begin Close; SQL.Clear; SQL.add(´select count(*) as qtd from arq_hist where inscricao = :insc´); ParamByName(´insc´).AsString := edit1.text; Open; teste.Caption := Fields[0].AsString; end;
certifique-se de haver um índice nessa tabela pelo campo inscricao
GOSTEI 0
Geisonc
24/11/2005
Indice ? desculpe a ignorancia, como assim..
na parte da criacao do banco, depois criacao das tabelas, criacao do gerador, criacao do trigger, eu paro por ai.
O que esta errado entao ?
na parte da criacao do banco, depois criacao das tabelas, criacao do gerador, criacao do trigger, eu paro por ai.
O que esta errado entao ?
GOSTEI 0
Emerson Nascimento
24/11/2005
isso mesmo: índices!
o aumento de performance é brutal depois da criação dos índices.
CREATE INDEX ARQ_HIST_IDX1 ON ARQ_HIST (INSCRICAO);
depois do índice criado execute a instrução novamente e veja se a performance melhora.
o aumento de performance é brutal depois da criação dos índices.
CREATE INDEX ARQ_HIST_IDX1 ON ARQ_HIST (INSCRICAO);
depois do índice criado execute a instrução novamente e veja se a performance melhora.
GOSTEI 0
Geisonc
24/11/2005
realmente ficou melhor a pesquisa, porem, para a consulta que eu quero no caso o select count, ainda ta travando... que saco, quando era em db eu conseguia fazer perfeitamente...
com o isql ele demora 1 segundo para fazer a pesquisa, entao creio eu que nao seje tao demorado a filtrar os campos....
uma pergunta... como eu estou criando o campo ´as qtd´, eu preciso coloca-lo do fields editor como campo calculado ? ou nao eh necessario... em todo caso, criei ele e tbem travou...
tá complicado o negocio...
com o isql ele demora 1 segundo para fazer a pesquisa, entao creio eu que nao seje tao demorado a filtrar os campos....
uma pergunta... como eu estou criando o campo ´as qtd´, eu preciso coloca-lo do fields editor como campo calculado ? ou nao eh necessario... em todo caso, criei ele e tbem travou...
tá complicado o negocio...
GOSTEI 0
Delphi32
24/11/2005
me diga o seguinte:
1) Quais são os componentes que você está usando para acessar o banco de dados?
2) O componente TbArqHist é de que tipo? (IBTable, IBQuery, etc.)
Se funciona pelo isql deveria funcionar também pelo programa, então acredito que haja algum erro de configuração nos componentes...
1) Quais são os componentes que você está usando para acessar o banco de dados?
2) O componente TbArqHist é de que tipo? (IBTable, IBQuery, etc.)
Se funciona pelo isql deveria funcionar também pelo programa, então acredito que haja algum erro de configuração nos componentes...
GOSTEI 0
Geisonc
24/11/2005
Utilizo Firebird/Interbase,
componentes IBDatabase, IbQuery. As configuracoes do database estao voltatas para o banco criado, cada query conectada ao banco e com instrucoes se select * para cada tabela em cada query, que sao 7 no total. Uma query esta conectada na tabela arq_hist, na qual tenho que fazer varias pesquisas e tenho que fazer em varias tabelas, porem a base das pesquisas é atraves desta instrucao que nao da certo... ele trava o delphi de uma maneira que eu tenho que finalizar o delphi (ctl alt del), para poder voltar a usar o pc.
Funciona perfeitamente em ISQL, chega a lacrimejar os olhos....
componentes IBDatabase, IbQuery. As configuracoes do database estao voltatas para o banco criado, cada query conectada ao banco e com instrucoes se select * para cada tabela em cada query, que sao 7 no total. Uma query esta conectada na tabela arq_hist, na qual tenho que fazer varias pesquisas e tenho que fazer em varias tabelas, porem a base das pesquisas é atraves desta instrucao que nao da certo... ele trava o delphi de uma maneira que eu tenho que finalizar o delphi (ctl alt del), para poder voltar a usar o pc.
Funciona perfeitamente em ISQL, chega a lacrimejar os olhos....
GOSTEI 0
Geisonc
24/11/2005
********
Fiz um banco de dados de teste em firebird, com uns campinhos chucros, para ver se contava, e CONTOU......
mostrou certinho quantos registros tem na tabela.. etc...
e no projeto oficial nao conta nem por decreto, e ainda trava...
alguem tem alguma sugestao ?
Fiz um banco de dados de teste em firebird, com uns campinhos chucros, para ver se contava, e CONTOU......
mostrou certinho quantos registros tem na tabela.. etc...
e no projeto oficial nao conta nem por decreto, e ainda trava...
alguem tem alguma sugestao ?
GOSTEI 0
Geisonc
24/11/2005
Bom, tirei TODOS os componentes do modulo, e coloquei o basico + a tabela que eu to tentando fazer funcionar....
DEU CERTO !
agora vou colocando as outras e vou tentando...
por enquanto
Muito Obrigado.
DEU CERTO !
agora vou colocando as outras e vou tentando...
por enquanto
Muito Obrigado.
GOSTEI 0