AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Automatische aktualisierung von DBGrid anhalten / fortsetzen

Automatische aktualisierung von DBGrid anhalten / fortsetzen

Ein Thema von Tempdir · begonnen am 9. Apr 2009 · letzter Beitrag vom 9. Apr 2009
Antwort Antwort
Tempdir

Registriert seit: 19. Feb 2009
Ort: Karlsruhe
84 Beiträge
 
RAD-Studio 2009 Pro
 
#1

Automatische aktualisierung von DBGrid anhalten / fortsetzen

  Alt 9. Apr 2009, 09:40
Datenbank: TurboDB • Version: 5.xx • Zugriff über: TDB-Komponenten
Hallo,

ich habe eine TurboDB-Datenbank die ich mittels einer Table-, Database-, Datasource- und DBGrid-Komponente in meine Anwendung eingebunden habe.
Es werden permanent Daten in die Tabelle geschrieben, und das DBGrid verwende ich als Monitor, um zu sehen was aktuell in die Datenbank geschrieben wurde. Ich würde jetzt gerne mittels eines Buttons diesen "Monitor" anhalten und wieder fortsetzen können.

Folgende Möglichkeit habe ich gefunden, allerdings kann ich dann in meinem DBGrid nicht mehr nach oben Scrollen (um alle Datensätze zu betrachten):

  DataSource1.DataSet.DisableControls; Ich konnte nach langer Suche leider nichts besseres zu dem Thema finden. Gibt es da eine einfache Lösung?

Danke!
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Automatische aktualisierung von DBGrid anhalten / fortse

  Alt 9. Apr 2009, 09:44
Vllt. einfach die Verbindung zwischen DataSource und DataSet temporär lösen:

Delphi-Quellcode:
DataSource1.DataSet := nil;

// --- mach viel mit der DB... ---

DataSource1.DataSet := MyDataSet;
Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Tempdir

Registriert seit: 19. Feb 2009
Ort: Karlsruhe
84 Beiträge
 
RAD-Studio 2009 Pro
 
#3

Re: Automatische aktualisierung von DBGrid anhalten / fortse

  Alt 9. Apr 2009, 09:49
Danke, aber das geht leider nicht. Danach ist das DBGrid leer.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Automatische aktualisierung von DBGrid anhalten / fortse

  Alt 9. Apr 2009, 09:55
Hm, Sonst würde ich vorschlagen, Dass Du eine seperate Query zum Anzeigen im DB Grid machst und diesen dann nur bei Bedarf .Refresh()-st

Edit: Eine andere alternative wäre noch, dass Du Dich selbst um die Anzeige der Daten kümmerst (siehe auch den hiesigen Thread mit VirtualTreeView und Datenbanken), dann könntest Du entscheiden, wann was aktualisiert oder gezeigt werden soll.

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Tempdir

Registriert seit: 19. Feb 2009
Ort: Karlsruhe
84 Beiträge
 
RAD-Studio 2009 Pro
 
#5

Re: Automatische aktualisierung von DBGrid anhalten / fortse

  Alt 9. Apr 2009, 10:17
DANKE für die ganzen Tipps. Das mit der Query ist vielleicht garnicht so schlecht, es sollte halt noch performant sein und sich ca. alle 0.5s aktualisieren. Ich muss das einfach mal testen.
Deinen anderen Vorschlag muss ich mir noch durchlesen.

Aber hast mir schonmal sehr geholfen!!!
  Mit Zitat antworten Zitat
Tempdir

Registriert seit: 19. Feb 2009
Ort: Karlsruhe
84 Beiträge
 
RAD-Studio 2009 Pro
 
#6

Re: Automatische aktualisierung von DBGrid anhalten / fortse

  Alt 9. Apr 2009, 11:00
Ich hab das mit der Query mal getestet, aber es ist für meine Zwecke leider unbrauchbar. Das Ausführen der Query dauert einfach zu lange und somit ist die Performance zu schlecht schade!
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Automatische aktualisierung von DBGrid anhalten / fortse

  Alt 9. Apr 2009, 11:06
Also das Hauptproblem sehe ich hier bei der Tatsache, dass deine Daten im Query laufend aktualisiert werden und Du gleichzeitig versucht alte Daten aus der selben Query quasi im DBGrid anzuzeigen.

Eine Lösung könnte hier sein, dass Du die Daten aus der Query lokal zwischenspeicherst (in Records, Klassen, wo auch immer) und diesen Datensatz und die dazugehörige darstellende Komponente (das VirtualTreeView bietet sich auch wieder an ) so alle 0,5 Sekunden (oder welchen Intervall Du auch immer wählst - oder auch manuell) mit den neuesten Daten aus der Query aktualisierst...

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf