Fórum Ajuda vencimento em delphi #582103
04/06/2017
0
procedure TFrmPri.SpeedButton4Click(Sender: TObject);
begin
listbox1.Clear;
listbox2.Clear;
listbox3.Clear;
with dm.Query do
begin
close;
sql.Clear;
sql.Add('select * from Clientes where Vencimento <='+FormatDateTime('#dd/mm/yyyy#',now));
sql.Add('Order by Vencimento');
open;
end;
dm.Query.First;
while not (dm.Query.Eof) do
begin
Listbox1.Items.Add(dm.Query.FieldByName('Código').AsString);
Listbox2.Items.Add(dm.Query.FieldByName('Nadador').AsString);
Listbox3.Items.Add(dm.Query.FieldByName('Vencimento').AsString);
Dm.Query.Next;
end;
Dm.Query.Close;
end;Obs: Uso banco de dados Access
Diego Pereira
Curtir tópico
+ 0Posts
05/06/2017
Robson Morais
Gostei + 0
05/06/2017
Diego Pereira
Gostei + 0
05/06/2017
Júlio Ferreira
Aconselho você a começar usar consultas parametrizadas. Principalmente, quando é data, o Delphi pode dar algum problema com o cliente da conexão com o banco de dados. Queries parametrizadas são quase infalíveis!
No seu exemplo, seria algo como:
with dm.Query do
begin
close;
prepared := true;
sql.Clear;
sql.Add('select * from Clientes where Vencimento <= :pDataVencimento' )
sql.Add('Order by Vencimento');
parameters.parambyname( 'pDataVencimento' ).DataType := ftDate;
parameters.parambyname( 'pDataVencimento' ).Value := Now;
Open;
Gostei + 0
05/06/2017
Robson Morais
Gostei + 0
06/06/2017
Júlio Ferreira
Se vc usa essa solução em mais de 30 terminais e em 14 empresas e nunca teve problema... qual é o seu problema então? Se funciona, pq não está funcionando?
Gostei + 0
06/06/2017
Robson Morais
Gostei + 0
06/06/2017
Diego Pereira
Obrigado,desde já
Att: Diego Dias Pereira
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)