AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Daten schneller anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Daten schneller anzeigen

Ein Thema von franktron · begonnen am 5. Aug 2004 · letzter Beitrag vom 6. Aug 2004
Antwort Antwort
Seite 1 von 2  1 2      
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Daten schneller anzeigen

  Alt 5. Aug 2004, 15:33
Wie kann ich daten in einer DBGrid schneller anzeigen.

Ich benutze ein MYSQLServer mit DAC FOR MYSQL.

Wie kriege ich das jetzt hin die daten anzuzeigen (ca. 150000) ohne das beim öffnen der Query oder Table ich erstmal 1 Min warten muss.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Datne schneller anzeigen

  Alt 5. Aug 2004, 15:40
Nur mit der Kaufkomponente MySQL DAC.
MySQL bietet keine Serverseite Curser. Deshalb müssen alle Komponenten erst alle Daten zum Client schicken und können sie erst dann anzeigen. MySQL DAC bietet hier die Möglichkeit (über eine gesonderte, nicht in Transaktionen laufende Verbindung nur die benötigten Datensätze abzurufen.

Sonst bleibt dir Möglichkeit per Where-Bedinung oder Limit-Eintrag die Anzahl der Ergebnisdatensätze zu beschränken.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

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

Re: Datne schneller anzeigen

  Alt 5. Aug 2004, 15:40
Zitat von franktron:
Wie kann ich daten in einer DBGrid schneller anzeigen.

Ich benutze ein MYSQLServer mit DAC FOR MYSQL.

Wie kriege ich das jetzt hin die daten anzuzeigen (ca. 150000) ohne das beim öffnen der Query oder Table ich erstmal 1 Min warten muss.
Hi,

du musst nicht alle Daten auf einmal holen. Hol doch ertmal 1000 Datensätze oder so. Und wenn im DB-Grid gescrollt wird, lädst du den Rest nach.

mfG
mirage228
David F.

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

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

Re: Datne schneller anzeigen

  Alt 5. Aug 2004, 15:56
Zitat von mirage228:
Zitat von franktron:
Wie kann ich daten in einer DBGrid schneller anzeigen.

Ich benutze ein MYSQLServer mit DAC FOR MYSQL.

Wie kriege ich das jetzt hin die daten anzuzeigen (ca. 150000) ohne das beim öffnen der Query oder Table ich erstmal 1 Min warten muss.
Hi,

du musst nicht alle Daten auf einmal holen. Hol doch ertmal 1000 Datensätze oder so. Und wenn im DB-Grid gescrollt wird, lädst du den Rest nach.

mfG
mirage228
Genau das hab ich mit auch überlegt aber wie ?????
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

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

Re: Datne schneller anzeigen

  Alt 5. Aug 2004, 15:58
Hi,

wenn du einen Select ("SELECT * FROM tabelle LIMIT 1000") durchführst, beschränkst du diese auf 1000.

Nun fängst du das Scroll-Ereignis des DB-Grids ab und wenn du bei den z.B. 30 letzen Datensätzen angekommen bist, lädst du diese nächsten 1000 nach.

mfG
mirage228
David F.

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

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

Re: Datne schneller anzeigen

  Alt 5. Aug 2004, 16:02
Zitat von mirage228:
Hi,

wenn du einen Select ("SELECT * FROM tabelle LIMIT 1000") durchführst, beschränkst du diese auf 1000.

Nun fängst du das Scroll-Ereignis des DB-Grids ab und wenn du bei den z.B. 30 letzen Datensätzen angekommen bist, lädst du diese nächsten 1000 nach.

mfG
mirage228
Ja das ist mir klar aber wie mache ich das in Deplhi wenn einer Scrollt das ich das limit hochsetze.

Und wie kann ich am besten suchen (suche normalerweise mit locate)
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  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: Datne schneller anzeigen

  Alt 5. Aug 2004, 16:05
Zitat von franktron:
Zitat von mirage228:
Hi,

wenn du einen Select ("SELECT * FROM tabelle LIMIT 1000") durchführst, beschränkst du diese auf 1000.

Nun fängst du das Scroll-Ereignis des DB-Grids ab und wenn du bei den z.B. 30 letzen Datensätzen angekommen bist, lädst du diese nächsten 1000 nach.

mfG
mirage228
Ja das ist mir klar aber wie mache ich das in Deplhi wenn einer Scrollt das ich das limit hochsetze.

Und wie kann ich am besten suchen (suche normalerweise mit locate)
Hi,

du musst dir merken, wieviele Datensätze du schon hast.

Die Abfrage sehen dann so aus
SELECT * FROM tabelle LIMIT <von>, <bis> Dann wählst du alle Datensätze von <von> bis <bis> aus.

Am Anfang wählst du 0, 1000. Danach 1000, 2000 usw.

mfG
mirage228
David F.

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

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

Re: Daten schneller anzeigen

  Alt 6. Aug 2004, 11:44
Also das mit dem limit klappt schon aber das mit dem scollen nicht er bleibt immer auf dem ersten Datensatz stehen.

Ich habs im Onscollereigniss von der Query Gesetzt und irgend wie geht das nicht.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Daten schneller anzeigen

  Alt 6. Aug 2004, 11:52
Zitat von franktron:
(ca. 150000)
Hallo,
das ist schon von vorne herein der falsche Ansatz. Kein Mensch wird sich durch 150000 Datensaätz durchscrollen wollen. Versuche, gleich einen gescheiten Filter zu setzen und somit die Datenmenge auf maximal einige Hundert zu beschränken.

Gruß,
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#10

Re: Daten schneller anzeigen

  Alt 6. Aug 2004, 11:55
Geht leider nicht ist ein Lager und ich weis nicht was er gucken will
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz