Müsstest du nicht auch berücksichtigen, daß neue Termine in die Datenbanke eingetragen werden? Kann das passieren. Wenn ja, dann müsstest du sowiso die Datenbank sekündlich abfragen.
Das muss ich natürlich auch beachten. Neue Termine können jede Zeit neu angelegt werden. Heißt also doch die
DB jede Sekundlich abfragen! Oder nach Schreibvorgängen schauen, falls ein Schreibvorgang stattfindet die Termine neu laden.
Wenn du eh sekündlich ne
Query raushauen musst, dann kannst du die Ergebnisse ja sogar ganz konkret bis auf die Sekunde genau filtern lassen. In dem Falle brauchst du gar nichts in ein Array oder eine Liste zuwischenspeichern.
Du weißt ja in diesem Falle genau, dass
alle zurückgelieferten Einträge genau jetzt in diesem Moment ein Ereignis auslösen müssen. Dazu iterierst du dann einfach über das SQLResult.
Aber macht da die SQlite
DB mit? Schafft sie überhaupt in der einen Sekunde die ganze Abfrage und Ausgabe?
Das WHERE Statement gibt es auch bei SQLite und wenn du einen entsprechenden Index setzt, wird die Abfrage auch in ordentlicher Zeit durchlaufen. Kommt halt auf die Größe der Datenbank an.
Müsstest du dir auch überlegen, ob es sinnvoll ist die vergangenen Termine wieder aus der Datenbank zu löschen.