NO!
per confrontare l'ora attuale all'ora della scadenza, se e' uguale allora apre il form dell'allarme.
queste sono state altre 2 risposte su altri forum:
-----------------------------------------------------------
1)
Io caricherei in un dataset tutte le scadenze (o quelle di un giorno se sono
veramente troppe)
Poi li ordinerei per scadenza e schedulerei la scadenza usando il timer
System.Threading.Timer.
Per sapere se nel db ci sono nuove scadenze (per aggiornare il dataset),
potresti adottare 2 tecniche:
1. Il db viene toccato solo dalla tua app. In questo caso tu sai quando fare
il refresh del dataset senza dover eseguire polling
2. Il db viene modificato da altri. In questo caso decidi un intervallo di
polling sul database e esegui il refresh del dataset periodicamente. Il
polling lo puoi fare anche qui con un timer. Se usi il controllo timer della
toolbox non hai problemi di concorrenza ma se usi per questo task
System.Threading.Timer o altri sistemi che fanno uso di thread, dovrai stare
attento a gestire la sincronizzazione per accedere al dataset.
Una volta eseguito il refresh del dataset, potrai rischedulare (metodo
Change se non ricordo male) la nuova scadenza del timer.
-----------------------------------------------------------------
2)
Bhe è un pò poco performante ogni secondo inviare una query al DB per testare la tua variabile che ti fa scattare l'allarme.
Io opterei per una soluzione un pò diversa.....se si tratta di SQL, perchè non imposti un trigger che si attiva non appena viene introdotto un record nella tabella che soddisfa la tua query ?
Il trigger dovrebbe occuparsi di scrivere un file di testo su disco; a questo punto la tua applicazione si sincronizza su un file anzichè usando una query !
Questa è solo un'idea !
COSA NE PENSI ???