Entwickler-Ecke
Datenbanken - Erinnerungsfunktion
Hendrik - Mo 23.12.02 13:56
Titel: Erinnerungsfunktion
Hallo
Ich bräuchte mal etwas Hilfe von euch. Ich möchte eine Liste mit vorgeplanten Terminen als Datenbank machen. In jedem Datensatz ist dann eine Datum und eine Uhrzeit hinterlegt, wann das Programm an diesen Termin erinnern soll. Wie könnte ich diese Erinnerungsfunktion programmieren?
jojo.duerr - Mo 23.12.02 14:25
Tabelle:
ID: autoinc (einfach so, weil jede Tabelle eine eindeutige ID haben sollte)
Zeit: Timestamp
nZeit: Timestamp
Text: Memo
Bei Anlegen einer Erinnerung füllst du Zeit und Text, stellst nZeit (nächste Erinnerungszeit) auf denselben Wert wie Zeit. Dann fragst Du in Deinem Programm jede Sekunde( oder 10 Sekunden, je nach Auflösungswunsch) die Tabelle ab, ob Einträge vorhanden sind, bei denen nZeit erreicht ist:
SELECT * FROM mytable WHERE nZeit<=now()
Wenn Termine da sind: Anzeigen und die Option lassen, ob
a) Termin beendet (nZeit auf NIL setzen)
b) erneute Erinnerung (nZeit auf neue Zeit setzen)
Udontknow - Mo 23.12.02 14:32
Hi!
Sowas ist natürlich in einer Multi-User-Umgebung nicht zu empfehlen. Wenn dort 4000 Leute jede Sekunde diese Anfrage stellen, könnte das unbequem werden... In so einem Falle müsste man die Prüfung dann am besten zentralisiert durch einen Appserver ausführen lassen.
Cu,
Udontknow
jojo.duerr - Mo 23.12.02 14:39
[quote]
Sowas ist natürlich in einer Multi-User-Umgebung nicht zu empfehlen. Wenn dort 4000 Leute jede Sekunde diese Anfrage stellen, könnte das unbequem werden... In so einem Falle müsste man die Prüfung dann am besten zentralisiert durch einen Appserver ausführen lassen.
[/quote]
Wenn er hier solch eine einfache Frage stellt hat er bestimmt nicht vor, eine Anwendung für 4000 gleichzeitige Benutzer zu schreiben ;)
Zudem denke ich nicht, daß diese Abfrage irgendwelche C/S RDMS überlasten würde. Paradox wäre vielleicht irgendwie überlastet :twisted: .
Udontknow - Mo 23.12.02 14:52
Ich habe schon einmal erlebt, wie eine AS400 wegen so einer "Kleinigkeit" abgeschaltet wurde.
Ist ja auch nur ein Hinweis. :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!