![]() |
Datenbank: turbodb • Version: 5.0 • Zugriff über: tdatabase + ttable von turbodb
Aktualisieren von einem dbgrid im LAN
Hallo,
ich arbeite an einer Applikation in der Termine für verschiedene Räume in einer Tabelle einer Datenbank gespeichert werden. Die Struktur der Termine und der zugeordneten Räume wird für 2 Jahre im voraus angelegt, sodass eine Neuanlage eines Termins nicht über ein „append“ sondern nur über „edit“ in die Datenbank eingetragen werden kann. Außerdem ist es nicht möglich die Tabelle direkt mit einem dbgrid zu koppeln um Aktualisierungen für jeden User sofort anzuzeigen. Die Anzeige der Daten erfolgt über eine SQL-Abfrage. Im Einplatzbetrieb kein Problem. Der User sucht sich eine freien Termin im dbgrid, welches über die SQL-Abfrage gespeist wurde, der dann in die Datenbanktabelle eingetragen wird. Anschließend wird die Abfrage erneut ausgeführt um das dbgrid zu aktualisieren. Für mich stellt sich das Problem im LAN-Betrieb, wenn ein zweiter User auf die Datenbank zugreift. Wie oben beschrieben bekommt dieser Nutzer nichts von dem neu eingetragenen Termin mit, da das dbgrid ja nicht direkt mit der Datenbank verbunden ist und somit auch nicht automatisch aktualisiert wird. Er hat immer noch den alten Zustand der Termintabelle im grid, da dieser ja über eine Abfrage angezeigt wird. Wie bekomme ich es hin, wenn der User 1 einen Termin einträgt, das User2 diesen neuen Termin in seinem Grid sieht? Mit einen Button der zur Aktualisierung die Abfrage erneut ausführt, bin ich nicht glücklich. Dieses muss irgendwie automatisch passieren. Mir schwebt auch schon etwas vor, indem ich eine Userverwaltung einbaue und darüber den Zugriff von Aktualisierungen steuere. Vielleicht hat einer von euch eine elegantere, einfachere Lösung. Olaf |
Re: Aktualisieren von einem dbgrid im LAN
Hallo,
eine Protokolldatei mitführen, die mind. einträgt wann das letzte mal was gemacht wurde. (DateOfLastChange ...) Dann alle X Minuten oder beim Ändern-Klick des Nutzers auslesen und mit dem selbst sich gemerkten letzten Datum vergleichen. Ist es verschieden, wurde was geändert -> Neuladen. Schwieriger wäre eine direkte Synchronisation, z.B. ein Server, wo die Programme sich anmelden und über Änderungen informieren. Man könnte bie File-DBs auch das Dateidatum prüfen ... Heiko |
Re: Aktualisieren von einem dbgrid im LAN
Zitat:
Hat den Vorteil, dass man keine absolute Zeit mehr benötigt - die es ja nicht gibt - und die Abfragen, ob die Werte noch aktuell sind, bleiben klein. Gruß, Chris |
Re: Aktualisieren von einem dbgrid im LAN
Hallo,
vielen Dank für die Vorschläge. Werde einen Counter in einer Tabelle mitführen und darüber die Aktualsierungen der Clients machen, indem ich in kurzen Zeitintervallen den Counter abfrage. Einfach und genial, hat mir sehr geholfen. Olaf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 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-2025 by Thomas Breitkreuz