Für ein Refresh musst Du dem Dataset einen eindeutigen Schlüssel spendieren. Glaube ich.
Schlüssel? Dataset? Was für ein Schlüssel? Meinst du, man benötigt in der Tabelle einen PK, um ein Refresh ausführen zu können? Der ist natürlich vorhanden: ID_Video.
Auch ein Ändern des Cursotypes im Dataset von
ctStatic auf
ctDynamic hat nicht die in der Online-Hilfe angekündigte Wirkung, denn der zuvor via
DB-Manager geänderte Wert wird auch hier ohne nachstehendes Open/Close nicht angezeigt:
ctDynamic: Dynamischer Cursor. Die von anderen Benutzern hinzugefügten, geänderten und gelöschten Daten werden angezeigt. Die Datensätze können in beiden Richtungen durchlaufen werden.
ctStatic: Statischer Cursor. Eine statische Kopie der Datensätze. Die von anderen Benutzern geänderten Daten werden nicht angezeigt. Diese Cursor-Art wird hauptsächlich für Berichte verwendet.
Hat wohl mit der darunterstehenden Anmerkung zu tun:
Wenn die Eigenschaft CursorLocation der ADO-Datenmenge den Wert clUseClientOnly hat, wird nur die Konstante ctStatic unterstützt. Und tatsächlich, clUseServer wird von diesem Provider nicht unterstützt, wie Delphi beim Start der Anwendung meldet, wenn ich die CursorLocation zuvor auf clUseClient (clUseClientOnly gibt's bei mir nicht) umgestellt habe:
' Das aktuelle Recordset unterstützt keine Lesezeichen. Hierbei handelt es sich möglicherweise um eine Einschränkung seitens des Providers oder des gewählten Cursortyps '
Nein, auch ohne ein Close und Open wird die Datenmenge neu abgerufen.
In meinem dargestellten Fall definitiv nicht. Wie hast du das überprüft? Wenn du richtig getestet hast, dann verhalten sich diverse
DB-Komponenten diesbezüglich unterschiedlich.