Diciamo che l'errore è supporre che il database che usi utilizzi il formato data/ora che tu "hai deciso" essere mm/dd/yyyy.
Ci mancano un po' di dati:
- Tipo di "strato" software di connessione (BDE, IBX ecc)
- Tipo di RDBMS
Andando per ipotesi, facciamo finta che qrAttivita sia un componente TQuery.
In questo caso stai usando BDE, che tra mille difetti ha il pregio di adeguarsi da solo al tipo di RDBMS che usi.
Basta però che usi i parametri.
Ad esempio la query
SELECT * FROM BOLLE WHERE DATABOLLA > <una_determinata_data>
deve essere scritta in questo modo, supponendo che qrMiaQuery è un componente TQuery e che la variabile dt: TDateTime sia inizializzata dal programma:
codice:
with qrMiaQuery do
begin
Active := false;
SQL.Text := 'SELECT * FROM BOLLE WHERE DATABOLLA > :LAMIADATA'
ParamByName('LAMIADATA').DataType := ftDate; // Probabilmente non è necessario
ParamByName('LAMIADATA').AsDate := dt;
Open;
end;
Se non usi TQuery ma TSQLQuery (IBX) dovrebbe essere uguale.
Con TADOQuery (che però non conosco) dovrebbe esserci qualcosa di paragonabile a ParamByName.
Ciao