![]() |
Anzeige des gerade eingefügten Datensatzes in einem DBGrid
Hallo,
die Frage ist bestimmt schon öfters gestellt worden aber ich konnte jetzt erstmal nichts finden: Ich habe auf einer Form ein DBGrid plaziert und möchte nun, wenn das Programm läuft und ich mit einem Insert Befehl einen Datensatz in meine DB schreibe, dass der neue Datensatz sofort im Grid angezeigt wird. Was muss ich da machen? Die Verbindung vom Grid zur DB ist da. Gruß Gambit |
Re: Anzeige des gerade eingefügten Datensatzes in einem DBGr
es wurde auch schön öfter gesagt:
Zitat:
raik |
Re: Anzeige des gerade eingefügten Datensatzes in einem DBGr
es ist eine MySQL DB. Ich füge die Datensätze über eine Schleife ein. Dabei ist das Programm scheinbar so ausgelastet, dass das Fenster nicht neu gezeichnet wird. Das Programm rattert und die Sätze werden auch eingefügt aber die Form wird gar nicht mehr richtig angezeigt...
Gambit |
Re: Anzeige des gerade eingefügten Datensatzes in einem DBGr
hallo gambit - es geht doch, leider habe ich zu my sql keine beziehung, aber es sollte schon so sein,als wenn das system ausgelastet ist.
eine möglichkeit wäre das einlesen in einen sepearten thread zu verlegen, so dass der Hauptthread normal weiterlaufen kann. raik |
Re: Anzeige des gerade eingefügten Datensatzes in einem DBGr
Hallo Gambit,
willst du nu eine schnelle Schleife haben oder zugucken ? Wenn du zuschauen willst, nach dem Eintragen ein Aplication.ProzessMessage und dann eine halbe Sekunde oder so warten. So kannst du gemütlich das ganze verfolgen. Wie lange dann das Einfügen der neuen Datensätze dauert ist naturlich dann eine andere Frage. Wenn ich mehrere Datensätze mit einer Schleife auslese, unterbinde ich die Ausgabe im Grid. Das Flackern macht einen nicht sehr guten Eindruck. Hans |
Re: Anzeige des gerade eingefügten Datensatzes in einem DBGr
Und wie ist das DBGrid mit der DB verbunden? Falls dies über eine Query erfolgt und Du die Daten über eine andere Query in die DB reinschreibst, dann ist das Verhalten völlig normal. Eine Query mit 'nem Select Statement ist eine statische Antwortmenge, das heißt, Du schickst das Select ab und erhältst als Antwort eine "Momentaufnahme" der Daten. Alles was danach passsiert (löschen, ändern, einfügen) bleibt Dir zunächst verborgen. Erst ein erneutes Absenden der Abfrage an den DB-Server liefert Dir diese Änderungen!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 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