![]() |
Datenbank: Pervasive PSQL • Version: 9.5 • Zugriff über: PDAC
Durcheinander im TDBGrid bei dynamischem Cursor
Hoi zusammen
Wenn ich mit PDAC vom Pervasive mit Delphi auf meine Datenbank zugreife habe ich mit dynamischem Cursor ein durcheinander von Datensätzen im TDBGrid. Sobald ich den vert. Scrollbalken schiebe und die Datenmenge kleiner ist als das Grid sind die meisten Datensätze doppelt vorhanden. Wenn im TPvQuery (analog TQuery) Cursor auf "Static" steht kommt dieses Problem nicht vor. Hat dieses Problem nun allgemein mit der Pervasive Komponente TPvQuery oder mit Delphi (TDbGrid) selbst zu tun und weiss evtl. jemand eine Lösung dazu. Der dynamische Cursor überzeugt mich, da dann nicht zuerst das ganze Query eingelesen wird, sondern nur was "man" im DBGrid sehen muss. Vorallem von Vorteil wenn über langsame ADSL-Upload-Kanäle oder GPRS/EDGE/UMTS auf die Datenbank zugegriffen wird. |
Re: Durcheinander im TDBGrid bei dynamischem Cursor
Also solch ein Verhalten mit DBGrid und anderen Datenbanken bei verwendung von serverseitigen Curser sind mir nicht bekannt.
Kannst Du noch deine Delphi-Version angeben Kannst du noch folgendes Testen (per Code): 1, Abfrage von Query.RecordCount nach öffnen der Query. 2, Durchlauf der Query mittels Next-Methode bis EOF = True mit Trace-Ausgaben der Datensätze 3, Abfrage von RecordCount 4, Zurücklaufen mittles Prior-Methode bis BOF = True 5, Abfrage von RecordCount |
Q
Zitat:
und bleibt mit diversen Aktion immer gleich. anderer Test: Durchlauf mit Button mit Aktion "Query.Next" und angschlossenem DBGrid, Resultat: alles i.O. Probleme entstehen wenn Resultat der Query kleiner als DBGrid ist und unten leerzeilen vorhanden sind. Nach dem Verschieben des vert. Scrollbalken sind die Leerzeilen mit doppelten "Falsch-Einträgen" besetzt. Delphi-Version: Turbo Delphi Prof. - Win32 eine vernünftige Variante nach meinem Delphi4. Zwischenversionen hatte ich nicht und Delphi 2005/2006 sind nicht zahlbar. Turbo Delphi hat ca. den Stand von Delphi2005 (einfach aber nur die Win32-Version). |
Re: Q
Zitat:
Zitat:
|
Re: Q
Zitat:
Nun zum Thema: Bei RequestLive=True erhalte ich einen gültigen Query.RecordCount und das DBGrid lässt keine Wünsche offen. Viola. RequestLive=True verursacht aber mehr Datenvolumen, ist das richtig? Meinerseits stelle ich auf RequestLive=True um - aber warum das Eine geht und das Andere nicht ist ein Rätsel? |
Re: Q
Zitat:
|
Re: Durcheinander im TDBGrid bei dynamischem Cursor
Abschliessend folgende Bemerkungen:
Resultat nach diversen Tests: - mit den BDE-Komponente(n) gibt es keine Probleme im TDBGrid (DBGrid). - TPvSQLQuery (PvSQLQuery) macht grosse Probleme mit dynamischem Cursor (ecDynamic,ctDynamic). Mit RequestLive=True sind die Vorteile das dynamischen Cursors dahnin. Wenn man im DBGrid am Ende "ankommt", die Cursor-Taste nach oben - und dann wieder nach unten "drückt" sind Datensätze "doppelt" (gemixt). Ganz klar ein Bug in den Pervasive-Komponenten PDAC. Pervasive schreibt seit Version 8.x dass im PDAC der dynamische Cursor der "neue Standard" sei. Warum ist den ctStatic als Standard gesetzt???? PDAC 9.50.023.000 Win32 Client 9.50.077.002 Win32 Server 9.50.077.003 Netware Turbo Delphi Prof. Pervasive schreibt im direkten Vergleich zu Titan (Regatta), dass Ihre Software dauernd gewartet wird. Aber scheinbar sind die "Dynamischen Probleme schon seit längerem bekannt" :-( Nach dem Umstieg von Titan zu PDAC ........... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:23 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