AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO (MS-SQL) + clUseServer + DBGrid-Anbindung
Thema durchsuchen
Ansicht
Themen-Optionen

ADO (MS-SQL) + clUseServer + DBGrid-Anbindung

Ein Thema von Bernhard Geyer · begonnen am 8. Jul 2004 · letzter Beitrag vom 10. Jul 2004
 
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.228 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: ADO (MS-SQL) + clUseServer + DBGrid-Anbindung

  Alt 10. Jul 2004, 18:43
Zitat von trifid:
beim clientseitigen Cursur wird alles auf einen Schlag im Arbeitsspeicher geladen
OK, das ist eine lange Wartezeit
Aber selbst wenn du nur 50000 Datensätze hast und 20Stück angezeigt werden sind das immer noch 2500x nachladen
Dieses nachladen dauert länger insgesamt (auf die 2500x gesehen) länger wie auf einmal
Das wäre für diesen Dialog/Teildialog egal. Es ist halt schlecht wenn erst mal 10-20 sec gar nichts passiert.

Zitat von trifid:
Sicherlich mit einen Cursor mit dem man nur vorwärtsblättern kann geht alles schneller,
aber macht das auch der Anwender?, meistens will er wieder zurück scrollen um sich einfach zu
vergewissern
Dazu habe ich mir schon überlegt einen Forward-Curser zu verwenden, die Daten in einem eigene Speicherobjekt zu kopieren und mit einem Grid im Virtual-Modus anzuzeigen. Je nachdem wieweit der User gescrollt hat, wurde auch der Forward-Curser gescrollt. Zurück geht auch, da ja alles in einem eigenen Speicherobjekt gecached ist.

Zitat von trifid:
Meistens und leider sieht das der Anwender etwas anders
Da hast Du vollkommen recht. Als Entwickler hat man immer andere Ansichten als der User

Zitat von trifid:
a) habe noch nicht ausprobiert und somit keine Erfahrung
b) in einer StoredProc "DECLARE cursor_name CURSOR GLOBAL" ... wichtig GLOBAL oder Doku mal anschauen DECLARE CURSOR
mit Hilfe einer zweiten StoredProc die Daten fetchten,
aber dann brauchst wahrscheinlich ein eigens dafür programmiertes Grid, welches das alles verwaltet
bin mir aber nicht sicher ob das wirklich funktioniert
Eine spezialprogrammierung Grid + ADO ist nicht möglich, da ich auch nocht MySQL und Oracle unterstützen muß. Und da gehen wir native drauf (mysqllib.dll bzw. .NET8-Client)

Zitat von trifid:
Nochmals zu den SELECT * FROM Mat
Dieses Beispiel ist eine Vereinfachung. Der User kann bestimmen welche Spalten er sehen will (und die Query wird entsprechend optimiert
Zitat von trifid:
schon mal mit dem TBetterADODataSet
Wird vermutlich nichts bringen, da es ja auch auf ADO aufsetzt und das Problem nicht ADOExpress/dbGo ist sondern ADO in seiner eigentlichen Form.

Ich werde noch 2 Möglichkeiten Ausprobieren:
a, Verwendung von Forward-Curser + Eigenes-Caching und nicht DB-Gebundenes Grid
b, Verwendung von Select TOP xyz .... order by "Primärschlüsselfelder" um definitiv nur maximal xyz-Datensätze anzuzeigen und für weitere Datensätze wird eine neue Query abgesendet, welche die Datensätze nach den schon vorhandenen liefert (ähnlich wie es ja auch im Internet bei Suchmachinen üblich ist

Danke für alle Tips/Hinweise
  Mit Zitat antworten Zitat
 


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:50 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