delphi xe 7 data

Delphi

27/06/2019

Boa noite fiz este codigo mas quando seleciono a data que preciso nao acha, alguem ja passou por isso, se sim por favor me de uma ajuda

with sql_ListarLancamentos do
begin
close;
sql.clear;
sql.Add('select * from view_listar_pedidos');
sql.Add('where ped_faturado = "SIM"');
sql.Add('and ped_data between :data_ini and :data_fim');
sql.add('group by ped_cod_venda');
ParamByName('data_ini').Value := data_ini.Date;
ParamByName('data_fim').Value := data_fim.Date;
open;

end;
//sql que gera o relatorio por data
with dm.sql_relatoriovenda do
begin
close;
sql.clear;
sql.Add('select * from view_listar_pedidos');
sql.Add('where ped_faturado = "SIM"');
sql.Add('and ped_data between :data_ini and :data_fim');
ParamByName('data_ini').Value := FormatDateTime('yyyy-mm-dd',data_ini.Date);
ParamByName('data_fim').Value := FormatDateTime('yyyy-mm-dd',data_fim.Date);
open;

end;
end;
Anderson Saldanha

Anderson Saldanha

Curtidas 1

Melhor post

Bruno

Bruno

27/06/2019

verifica se a data no banco esta nesse formato ou coloca no where para formatar da forma que você esta passando, para fazer isso depende o banco que esta usando

FormatDateTime('yyyy-mm-dd',data_ini.Date);

GOSTEI 1

Mais Respostas

Bruno

Bruno

27/06/2019

ParamByName('data_ini').Value := FormatDateTime('yyyy-mm-dd',data_ini.Date);
ParamByName('data_fim').Value := FormatDateTime('yyyy-mm-dd',data_fim.Date);

nessa parte aqui o parâmetro é string porque o FormatDateTime retorna string se você muda o parâmetro para data vai poder passar da mesma forma da consulta de cima sem o FormatDateTime

ParamByName('data_fim').Value := data_fim.Date;

GOSTEI 1
Anderson Saldanha

Anderson Saldanha

27/06/2019

ParamByName('data_ini').Value := FormatDateTime('yyyy-mm-dd',data_ini.Date);
ParamByName('data_fim').Value := FormatDateTime('yyyy-mm-dd',data_fim.Date);

nessa parte aqui o parâmetro é string porque o FormatDateTime retorna string se você muda o parâmetro para data vai poder passar da mesma forma da consulta de cima sem o FormatDateTime

ParamByName('data_fim').Value := data_fim.Date;

testei novamente como esta vi que os valores esta pegando certo so nao esta aparecendo na minha dbgrid.
GOSTEI 0
POSTAR