Query bei Clientzugriffen elegant aktualisieren?
-
Hallo Zusammen,
ich habe folgendes Problem:
habe ein kleines Benachrichtigungstool für die Firma gebastelt.
Erklärung:beim Anruf vom Kunde leitet die Dame an der Zentrale die Nachricht an die jeweilige Abteilung elektronisch weiter, das DBMS ist Paradox(grrr!!),
in der Datenbank werden messages,benutzer,zugriffe und abteilungen definiert.Die Anwendung läuft auf dem Systray.
Der Anwender soll falls neue Nachricht für seine Abteilung ankommt, informiert werden.Hier meine Frage:
wie kann ich am sinnvollsten ein aktives DBGrid elegant aktualisieren,falls neue Nachricht für die jeweilige Abteilung kommt?Hoffe , Ihr habt mich verstanden! :-))
Danke im voraus!!
epidemic
-
du könntest einfach ne funktion schreiben die nach ner gewissen zeit automatisch refreshed ... ?
-
Hi,
Danke für Deine Mühe!
Hilft mir allerdings nicht weiter, das DBGrid zieht sich die Daten aus einer
Abfrage(TQuery Instanz), die zu Laufzeit erstellt wird.Also Refreshen bewirkt nichts, ich könnte eventuell über einen Timer die
Abfrage immer wieder neu ausführen,was aber nicht gerade elegant aussieht, wenn
das Grid immer wieder zu und aufgemacht wird.Vielleicht andere Vorschläge?
epidemic
-
Also, bisher war es mir lieber ohne irgendwelche DB-Compos zu arbeiten. In diesem Fall würde ich nicht länger verzweifelt am DBGrid rumschrauben, sondern würde lieber die SQL Ergebnisse "von Hand" z.B. in ein StringGrid schreiben. Ist zwar etwas mehr Arbeit als irgendwelche fertigen Compos zu "vergewaltigen", aber man hat dann viel mehr Möglichkeiten bestimmte Besonderheiten zu implementieren.
-
versuch doch mal über eine zweite Query die Ereignisse zu lesen und nur wenn diese geändert wurden frischst Du Deine eigentliche Query fürs Grid auf !!??
-
auf diese Idee bin ich bist jetzt auch nicht gekommen.
Ist zwar nicht die eleganteste, aber ich versuchs mal!Danke
epidemic
-
Ich kenne mich mit Paradox jetzt nicht aus,
aber unter Oracle gibt's so genannte TRIGGERS.
Diese kannst du für bestimmte Felder definieren und wenn dann auf diesen Felder was passiert, dann kannst du weitere Aktionen ausführen.Also z.B. Trigger auf deinem Primary-Key-Feld. Wenn dort ein neuer Wert eingtragen wird, dann wird automatisch die Abfrage neu gestartet.
Vielleich gibt's ja bei Paradox so was ähnliches...
-
Triggers gibts bei Paradox nicht
epidemic