Fórum ajuda com SUM no selet #417149
21/05/2012
0
na montagem do selet ja vi usado o comando SUM para somar uma coluna do banco de dados, a montagem do comando eu entendi, a minha duvida e quanto ao uso da variavel na qual e guardada a soma ex SUM(Campo) as Total, a variavel total tem que ser craiada no cabecario da procedure, simplesmente pego a quantidade armazenada na variavel Total da segunte forma
Label1.caption := IntToStr(Total)
pelo que tenho relatado a minha duvida se refere ao uso da variavel que guardara o total, como crio ou uso tal variavel
ajudem me por favor, hoje quando tenho que somar uma coluna uso while e dou um loop em todo o arquivo somando linha por linha
funciona , mas se tenho uma outra opçaõ mais facil porque não usar
Edson Melo
Curtir tópico
+ 0Posts
21/05/2012
Joel Rodrigues
Bem, pra começar, o Total que você citou não é exatamente uma variável, trata-se apenas de um alias (apelido) para a coluna formada pelo sum.
Se você deseja retornar a soma de uma coluna para um dataset no Delphi, utilizando Stored Procedures, você precisa de uma variável de saída (output) e reconhecê-la no Delphi.
Que banco de dados você usa? Que engine de conexão?
Seque um exemplo de um stored procedure com variável de saída no MS SQL Server:
CREATE PROCEDURE usp_SomarColuna @TOTAL DECIMAL(10,2) AS BEGIN SELECT @TOTAL = SUM(COLUNA) FROM TABELA END
No Delphi, ao ligar uma Query a este procedure, você terá acesso à então variável TOTAL como parâmetro de saída.
Esta é uma visão geral, espero que, pelo menos, dê pra clarear as ideias.
Boa sorte em seus projetos.
Gostei + 0
22/05/2012
Edson Melo
mas se eu precisar de usar o valor total no form de pesquisa, não poderei pegar o que esta guardado em total e simplesmente colocar no local. e isso que me ta deixando maluco, se for para fazer do jeito que voce esplicou acho melhor continuar do meu jeito, pois e mais simples e facil, não que eu não tenha interesse em aprender , não entenda isso, quero aprender a fazer , mas do meu jeito ainda assim continua mais viavel e facil de usar.
espero mais explicações que me ajude a entender
ate breve
Gostei + 0
22/05/2012
Joel Rodrigues
SELECT SUM(VALOR) AS TOTAL FROM VENDAS
Colocando isso num dataset, você pode usar o campo TOTAL normalmente (dataset.FieldByName(´TOTAL´).AsFloat).
Beleza? Persistindo as dúvidas ou surgindo novas, pode entrar em contato.
Gostei + 0
23/05/2012
William
Caso esteja trabalhando com o componente dedicado no form ou no DataModule, a própria IDE do Delphi fornece facilidades para se trabalhar com esse campo total, com um duplo clique em cima do componente TQuery vc pode usar o Fields Editor para incluir esse campo total.
Caso esteja instanciando em tempo de execução (O meu preferido), ai vc pode capturar o valor do campo usando Query.Field[0].value.
Os 2 modos produzem o mesmo resultado, é só escolher.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)