Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Refresh (https://www.delphipraxis.net/173575-refresh.html)

Sir Rufo 5. Mär 2013 19:28

AW: Refresh
 
Auch wenn es grundsätzlich keine gute Idee ist zu pollen, wenn die Datenbank aber keine entsprechende Möglichkeit der Benachrichtigung vorsieht, dann muss man halt pollen oder eine Zwischenschicht einschieben (wenn man alle Datenlieferanten umstellen kann)

Furtbichler 6. Mär 2013 06:46

AW: Refresh
 
Wenn es sich um keine Massenänderungen handelt, kann man über einen Trigger die Datensätze markieren, die verändert wurden, bzw. eine separate 'Changes'-Tabelle erstellen. Gepollt wird dann diese Tabelle und eine Heuristik kann entscheiden, wie und ob die Daten neu geladen werden.

Alterauge 8. Mär 2013 13:22

AW: Refresh
 
Hallo,
gibt es noch eine andere Möglichkeit das DBGrid aktuell zu halten?

Ich greife mit einem DBGrid auf eine mySQL DB zu.
Zum Zeitpunk wo das Grid geöffnet wird werden auch alle Daten angezeigt.
Kommen jetzt aber neue Daten dazu, sieht es schlecht aus?

Ohne einen Refresh, ist das Grid nicht aktuell!

Gibt es eine andere Möglichkeit das Grid aktuell zu halten?
Refresh geht, aber das ganze Form zappelt! :-(

Ich arbeite mitder Komponente myTable!

Danke für die schnelle Hilfe !

Furtbichler 9. Mär 2013 08:41

AW: Refresh
 
Alle Möglichkeiten wurden genannt:
1. Regelmäßiges Neuladen der Daten
2. Wenn das RDBMS oder der (App-)Server Benachrichtigungen anbietet, diese verwenden
3. Triggergesteuerte Pflege einer Tabelle, die Änderungen der Daten protokolliert und Pollen dieser Tabelle.

generic 12. Mär 2013 11:38

AW: Refresh
 
Architektur umstellen auf ein Ereignis-System über einen Message-Server.

Kurz:
Änderungen an einen Datensatz, werden über eine MessageQue an das Persistenz-System bzw. Datenbank gemeldet.
Diese Nachrichten, abbonierst du auch auf deinen Client und kannst dann die Datensätze einzeln aktualisieren (in der Oberfläche).


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 Uhr.
Seite 2 von 2     12   

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