Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi DB-Grid automatisch aktualisieren Danke erstmal, ich habe mich wohl nicht ganz klar (https://www.delphipraxis.net/212823-db-grid-automatisch-aktualisieren-danke-erstmal-ich-habe-mich-wohl-nicht-ganz-klar.html)

d.adams 7. Apr 2023 11:43

DB-Grid automatisch aktualisieren Danke erstmal, ich habe mich wohl nicht ganz klar
 
Hallo,

ich möchte den Inhalt eines DBGrid aktualisieren. Und zwar immer dann, wenn ein Datensatz einer Tabelle sich ändert. Mein Problem ist: Wie kann ich dem Grind erkennbar machen, dass sich ein Datensatz an einer Tabelle geändert (oder neu etc) hat?

Mir ist natürlich klar, dass ich per Timer arbeiten kann, würde aber gerne, dass das Grid die Tabelle "überwacht"...

Gruß
Heiko

himitsu 7. Apr 2023 12:31

AW: DB-Grid automatisch aktualisieren Danke erstmal, ich habe mich wohl nicht ganz k
 
Man sagt es nicht dem Grid, sondern dem DataSet (Query).

Delphi-Referenz durchsuchenTDataSet.Refresh
Delphi-Referenz durchsuchenTDataSet.RefreshRecord

d.adams 7. Apr 2023 13:01

AW: DB-Grid automatisch aktualisieren Danke erstmal, ich habe mich wohl nicht ganz k
 
Zitat:

Zitat von himitsu (Beitrag 1520789)
Man sagt es nicht dem Grid, sondern dem DataSet (Query).

Delphi-Referenz durchsuchenTDataSet.Refresh
Delphi-Referenz durchsuchenTDataSet.RefreshRecord

Das es so geht weiß ich. Nur funktioniert das nur an dem Clients, an denen auch die Änderungen vorgenommen werden. Ich muss aber auch an weiteren Clients die Ansicht im Grid aktualisieren.

himitsu 7. Apr 2023 13:03

AW: DB-Grid automatisch aktualisieren Danke erstmal, ich habe mich wohl nicht ganz k
 
Zitat:

Zitat von d.adams (Beitrag 1520791)
Nur funktioniert das nur an dem Clients, an denen auch die Änderungen vorgenommen werden.

Ähhhhh. Nein, das geht in jedem Client. (also wenn die es bei sich machen)

Uwe Raabe 7. Apr 2023 13:22

AW: DB-Grid automatisch aktualisieren Danke erstmal, ich habe mich wohl nicht ganz k
 
Ein Automatismus hängt weniger vom Grid ab, als von den verwendeten Zugriffskomponenten (z.B. FireDAC) und/oder der dahinter liegenden Datenbank.

Bei manchen Datenbanken kann ma sich bei Änderungen benachrichtigen lassen. Dazu sind aber in der Regel auch Maßnahmen in der Datenbank erforderlich. Weiterhin muss die Zugriffskomponente dieses unterstützen. Bei FireDAC sind das die Database Events: https://docwiki.embarcadero.com/RADS...erts_(FireDAC)

Wenn das nicht unterstützt wird, hilft halt nur regelmäßig abrufen.

d.adams 7. Apr 2023 13:44

AW: DB-Grid automatisch aktualisieren Danke erstmal, ich habe mich wohl nicht ganz k
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1520793)
Ein Automatismus hängt weniger vom Grid ab, als von den verwendeten Zugriffskomponenten (z.B. FireDAC) und/oder der dahinter liegenden Datenbank.

Bei manchen Datenbanken kann ma sich bei Änderungen benachrichtigen lassen. Dazu sind aber in der Regel auch Maßnahmen in der Datenbank erforderlich. Weiterhin muss die Zugriffskomponente dieses unterstützen. Bei FireDAC sind das die Database Events: https://docwiki.embarcadero.com/RADS...erts_(FireDAC)

Wenn das nicht unterstützt wird, hilft halt nur regelmäßig abrufen.

Ich benutze Delphi 7 und MS SQL Server 2017. In Delphi die ADO-Komponenten für den Zugriff.

Ich werde mal einen Trigger auf die Tabelle setzen der eine Datei schreibt und greife dann FindFirstChangeNotification ab.... Mal sehen ob das was bringt....

himitsu 7. Apr 2023 20:43

AW: DB-Grid automatisch aktualisieren Danke erstmal, ich habe mich wohl nicht ganz k
 
Woarum?

Bei Google suchenms sql server notification services zusammen mit dem bereits Gesagtem.

d.adams 8. Apr 2023 18:38

AW: DB-Grid automatisch aktualisieren Danke erstmal, ich habe mich wohl nicht ganz k
 
Zitat:

Zitat von himitsu (Beitrag 1520803)
Woarum?

Bei Google suchenms sql server notification services zusammen mit dem bereits Gesagtem.


Das ist doch abgekündigt... (oder?)

mjustin 9. Apr 2023 08:28

AW: DB-Grid automatisch aktualisieren Danke erstmal, ich habe mich wohl nicht ganz k
 
Zitat:

Zitat von d.adams (Beitrag 1520787)
Hallo,

ich möchte den Inhalt eines DBGrid aktualisieren. Und zwar immer dann, wenn ein Datensatz einer Tabelle sich ändert. Mein Problem ist: Wie kann ich dem Grind erkennbar machen, dass sich ein Datensatz an einer Tabelle geändert (oder neu etc) hat?
h mit M
Mir ist natürlich klar, dass ich per Timer arbeiten kann, würde aber gerne, dass das Grid die Tabelle "überwacht"...

Eine Lösung die hier vor kurzem aufkam war die Verwendung eines Triggers, der eine Funktion aufruft, die wiederum ein Signal sendet - entweder an alle Clients oder einen zentralen Server, der wiederum die Clients benachrichtigt. Da war es zwar ein anderes DBMS, aber das Prinzip sollte sich auch mit MS SQL umsetzen lassen.

https://www.delphipraxis.net/212015-...richtigen.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz