![]() |
Datenbank: noch undefiniert • Zugriff über: ZEOS 6.6.4
Automatische Aktualisierung datensensitiver Komponenten
Hallo Forum,
ich arbeite mit einer Datenbank, auf welche ich mittels den ZEOS Komponenten (Version 6.6.4) zugreife. Die Daten werden anschließend über ein DataSource in einem DBGrid dargestellt. Da auf den Datenbankserver mehrere Benutzer zugreifen können, werden die Daten fortlaufend geändert. Wie schaffe ich es nun, dass bei jedem Client immer die aktuellen Daten im DBGrid erscheinen? Sprich, die datensensitive Komponente sollte automatisch (ohne manuellen Refresh etc) erkennen, wenn sich die abgebildete Datenmenge ändert. (Das muss irgendwie funktionieren, sonst macht ein Datenbanksystem keinen Sinn…) Welches Datenbanksystem ist dafür am besten geeignet (mySql, Firebird, ...)? Ich hab bereits Google mit mehreren Stichworten gefragt, komme aber nicht zum gewünschten Ergebnis. Grüße Benny |
Re: Automatische Aktualisierung datensensitiver Komponenten
Bei Interbase/FireBird: Events in Triggern aulösen.
|
Re: Automatische Aktualisierung datensensitiver Komponenten
Hallo,
gibt es auch eine Möglichkeit bei mySql? Ansonsten müsste ich sämtliche Tabellen auf Firebird übertragen. Wundert mich, dass es so kompliziert ist. Ich dachte es müsste lediglich eine Eigenschaft bei einer Komponente gesetzt werden. Eigentlich gehört es doch zu den Grundaufgaben einer Datenbank, dass beim Client immer die aktuellen Daten erscheinen. Wie funkioniert das genau mit den Events in Triggern? |
Re: Automatische Aktualisierung datensensitiver Komponenten
Zitat:
Events haben wir zu Zeiten von InterBase 5 benutzt, irgendwie hat das die Client regelmäßig abgeschossen, daher haben wir es wieder gelassen. Neben der Push-Technik mit Triggern / Stored Procedures (die ja dann voraussetzt, überall wo gewünscht DELETE / INSERT / UPDATE-Trigger zu schreiben) besteht auch die Möglichkeit a) eine PULL-Methode zu wählen, bei der timergesteuert eine Statustabelle abgefragt wird (in der dann z.B. unter dem Key 'LAST_INSERT_IN_KUNDENTABELL' ein Zeitstempel steht, den der Client dann abfragt und mit einem lokal gespeicherten Wert vergleicht b) eine PUSH-Methode auf der Basis eines "Chatprogramms", so wie Ajax im Webbrowser auch arbeitet (und wie man z.B. bei Stackoverflow.com sieht, ganz ordentlich funktioniert) - dazu benötigt man einen Server, der dann über TCP/IP alle Clients verbindet. In Enterprise Systemen ist es nicht ungewöhnlich, neben einem Datenbankserver auch noch andere Methoden zur Datenübertragung zu verwenden :) Cheers, |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz