Ajuda vencimento em delphi
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
Posts
05/06/2017
Robson Morais
05/06/2017
Diego Pereira
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;
05/06/2017
Robson Morais
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?
06/06/2017
Robson Morais
06/06/2017
Diego Pereira
Obrigado,desde já
Att: Diego Dias Pereira
Clique aqui para fazer login e interagir na Comunidade :)