Soma MySQL com select sum
Tiago Modena:
Bom dia pessoal, estou fazendo uma soma com MYSQL Delphi Mobile mas não esta funcionando, alguém pode ajudar por favor?
dm.QueryCadastro.Close;
dm.QueryCadastro.SQL.Clear;
dm.QueryCadastro.SQL.Add('select SUM(valor) AS TOTAL FROM cadastro');
dm.QueryCadastro.SQL.Add('WHERE data >= :DATAINI and data <= :DATAFIM');
dm.QueryCadastro.ParamByName('DATAINI').Value := DataInicio.Date;
dm.QueryCadastro.ParamByName('DATAFIM').value := DataFim.Date;
dm.QueryCadastro.open;
Label1.text := FloatToStr(dm.QueryCadastro.FieldByname('TOTAL').AsFloat);
Bom dia pessoal, estou fazendo uma soma com MYSQL Delphi Mobile mas não esta funcionando, alguém pode ajudar por favor?
dm.QueryCadastro.Close;
dm.QueryCadastro.SQL.Clear;
dm.QueryCadastro.SQL.Add('select SUM(valor) AS TOTAL FROM cadastro');
dm.QueryCadastro.SQL.Add('WHERE data >= :DATAINI and data <= :DATAFIM');
dm.QueryCadastro.ParamByName('DATAINI').Value := DataInicio.Date;
dm.QueryCadastro.ParamByName('DATAFIM').value := DataFim.Date;
dm.QueryCadastro.open;
Label1.text := FloatToStr(dm.QueryCadastro.FieldByname('TOTAL').AsFloat);
Tiago Modena
Curtidas 0
Respostas
Anderson Gonçalves
13/02/2020
Tiago Modena:
Bom dia pessoal, estou fazendo uma soma com MYSQL Delphi Mobile mas não esta funcionando, alguém pode ajudar por favor?
dm.QueryCadastro.Close;
dm.QueryCadastro.SQL.Clear;
dm.QueryCadastro.SQL.Add('select SUM(valor) AS TOTAL FROM cadastro');
dm.QueryCadastro.SQL.Add('WHERE data >= :DATAINI and data <= :DATAFIM');
dm.QueryCadastro.ParamByName('DATAINI').Value := DataInicio.Date;
dm.QueryCadastro.ParamByName('DATAFIM').value := DataFim.Date;
dm.QueryCadastro.open;
Label1.text := FloatToStr(dm.QueryCadastro.FieldByname('TOTAL').AsFloat);
Bom dia pessoal, estou fazendo uma soma com MYSQL Delphi Mobile mas não esta funcionando, alguém pode ajudar por favor?
dm.QueryCadastro.Close;
dm.QueryCadastro.SQL.Clear;
dm.QueryCadastro.SQL.Add('select SUM(valor) AS TOTAL FROM cadastro');
dm.QueryCadastro.SQL.Add('WHERE data >= :DATAINI and data <= :DATAFIM');
dm.QueryCadastro.ParamByName('DATAINI').Value := DataInicio.Date;
dm.QueryCadastro.ParamByName('DATAFIM').value := DataFim.Date;
dm.QueryCadastro.open;
Label1.text := FloatToStr(dm.QueryCadastro.FieldByname('TOTAL').AsFloat);
Querido nesse momento
dm.QueryCadastro.SQL.Add('WHERE data >= :DATAINI and data <= :DATAFIM');
utilize o comando BETWEEN para verificar intervalos.
dm.QueryCadastro.SQL.Add('WHERE data between :DATAINI and :DATAFIM');
testa e da um feedback se resolveu o seu problema.
Espero ter ajudado.
GOSTEI 0
Tiago Modena
13/02/2020
Obrigado vou testar, mas o intervalo de datas eu debuguei e funcionou mas não consigo somar e mostrar em uma label ou edit.
Ele traz o erro que o campo id não foi encontrado mas sim existe e está normal na query.
Ele traz o erro que o campo id não foi encontrado mas sim existe e está normal na query.
GOSTEI 0
Emerson Nascimento
13/02/2020
provavelmente você persistiu os campos no dataset dm.QueryCadastro. dê um duplo clique nele e veja se há campos na lista.
possivelmente você verá ali o campo ID, porém na sua nova pesquisa ('select SUM(valor) AS TOTAL...') você não relaciona o campo ID, causando o erro.
eu sugiro a você ter um objeto dataset separado, somente para esse tipo de consulta, sem reutilizar algum que já tenha um uso definido.
possivelmente você verá ali o campo ID, porém na sua nova pesquisa ('select SUM(valor) AS TOTAL...') você não relaciona o campo ID, causando o erro.
eu sugiro a você ter um objeto dataset separado, somente para esse tipo de consulta, sem reutilizar algum que já tenha um uso definido.
GOSTEI 0