AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO, Grid und SQL mit JOIN
Thema durchsuchen
Ansicht
Themen-Optionen

ADO, Grid und SQL mit JOIN

Ein Thema von TPeterT · begonnen am 8. Jun 2005 · letzter Beitrag vom 14. Jun 2005
Antwort Antwort
Seite 2 von 2     12   
TPeterT

Registriert seit: 17. Dez 2003
84 Beiträge
 
Delphi 7 Professional
 
#11

Re: ADO, Grid und SQL mit JOIN

  Alt 9. Jun 2005, 07:25
Hi nochmals!
Ihr schreibt teilweise ihr verwendet diese Methode für viele bzw für wenige Daten.
Habe es mit ca 100 Datensätzen versucht -> Performance noch ok..
Mit 5000 Datensätzen dauert das füllen des Grids ewig lange..
Das Problem ist, dass ich sehr viele DS habe und die Sache mit der While-Schleife deshalb nicht ordentlich funktioniert...
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#12

Re: ADO, Grid und SQL mit JOIN

  Alt 9. Jun 2005, 09:39
Für die schlechte Performance habe ich grade keine pauschale Lösung.
Abhängig von den verwendeten Datentypen, der Spaltenanzahl, der Geschwindigkeit der Datenquelle usw. sollte das Grid zwischen 2000 und 20.000 Records pro Sekunde laden.

Das BeginFULLUpdate und EndFULLUpdate hast du doch gesetzt oder ?

An deiner Query hängen während des Ladens der Datensätze hoffentlich keine anderen, datensensitiven, Steuerelemente oder ? Nicht das Diese das laden ausbremsen ... (Stichwort: EnableControls, Disablecontrols)

Was die Performance sehr stark runterzieht ist unter anderem auch, wenn das CellAutoWidth (o.Ä.) eingeschaltet ist.

Etwas Source und wäre jetzt sicher hilfreich um das Problem schneller zu lokalisieren ....

Alternativ kannst du ja mal in den DevExpress NewsGroups nachschauen ..



Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#13

Re: ADO, Grid und SQL mit JOIN

  Alt 9. Jun 2005, 10:25
Zitat von jensw_2000:
Das BeginFULLUpdate und EndFULLUpdate hast du doch gesetzt oder ?
...
Was die Performance sehr stark runterzieht ist unter anderem auch, wenn das CellAutoWidth (o.Ä.) eingeschaltet ist.
Wird DAS nicht gerade durch das Begin/EndFullUpdate temporär ausgeschaltet?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
TPeterT

Registriert seit: 17. Dez 2003
84 Beiträge
 
Delphi 7 Professional
 
#14

Re: ADO, Grid und SQL mit JOIN

  Alt 9. Jun 2005, 11:37
Hallo!

Das Problem mit der Geschwindigkeit habe ich nun gelöst. Hatte die Datasource der Query beim Start zugeordnet.

Das Problem im Moment ist, dass keine Daten im Grid angezeigt werden.

Hier der Code:
Code:
procedure Tfrm_Main.Button2Click(Sender: TObject);
 var
   i     : Integer;
   RecNo : Integer;
begin

      TableView_Vertraege.DataController.BeginFullUpdate;
      Q_Contract.First;

      i:=0;

      While not Q_Contract.EOF do
      begin
        TableView_Vertraege.DataController.AppendRecord;

        TableView_Vertraege.DataController.Values[i, tvcVertragsgruppe.Index]  :=
                           Q_Contract.Fieldbyname('DOCContractGroup_Name').AsString;

        i:=i+1;
        Q_Contract.Next;
      end;

      TableView_Vertraege.DataController.EndFullUpdate;

      //DS_Contract.DataSet := Q_Contract;
end;

Liebe Grüsse
Peter
  Mit Zitat antworten Zitat
TPeterT

Registriert seit: 17. Dez 2003
84 Beiträge
 
Delphi 7 Professional
 
#15

Re: ADO, Grid und SQL mit JOIN

  Alt 9. Jun 2005, 12:24
Hallo Nochmals!
Hab ich oben etwas schlecht beschrieben:
Die Zeilen im Grid sind zwar vorhanden, aber diese sind leer...

liebe Grüsse
peter
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#16

Re: ADO, Grid und SQL mit JOIN

  Alt 9. Jun 2005, 23:44
Hast du dir die Beispiele von DevExpress schon mal angesehen ?
Die sind wirklich gut ...

Falls es dann immer noch klemmt mache dir in den nächsten Tagen mal ein ganz kleines Beispiel Projekt fertig.
Komme aber erst Anfang nächster Woche dazu.

Zitat:
Zitat:
Das BeginFULLUpdate und EndFULLUpdate hast du doch gesetzt oder ?
...
Was die Performance sehr stark runterzieht ist unter anderem auch, wenn das CellAutoWidth (o.Ä.) eingeschaltet ist.
Wird DAS nicht gerade durch das Begin/EndFullUpdate temporär ausgeschaltet?
@alzaimar
Wenn BeginnFullUpdate gesetzt wurde, wird die Zellenbreite (ColumnAutoWidth) nicht beim Laden der Datensätze angepasst.
Jedoch wenn Das EndFullUpdate kommt wird das Grid die eingestellte Anzahl Datensätze durchscrollen, um die optimale Spaltenbreite zu ermitteln. Wenn man die Anzahl sehr hoch ansetzt dauert das schon eine Weile.
Da EndFullUpdate unmittelbar nach dem Einlesen der Daten aufgerufen wird, kann einem das schon so vorkommen, als würde das Laden ewig dauern ...




Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
TPeterT

Registriert seit: 17. Dez 2003
84 Beiträge
 
Delphi 7 Professional
 
#17

Re: ADO, Grid und SQL mit JOIN

  Alt 10. Jun 2005, 06:30
Hallo!
Ja - habe mir auch schon die Demos angesehen...

habe ich unter Umständen die falschen Komponenten verwendet?
TcxGrid - TcxGridTableView - TcxGridColumn

Wenn ich nämlich ansttt des Grids eine Listbox verwende funktioniert der "Datenimport"...

Unter der DevExpress-Hilfe (http://www.devexpress.com/Support/Kn...troller.values) ists auch ganz gleich beschrieben...

Könntest du dir auch vorstellen, das Grid an die Datasource zu hängen und anstatt der Joins eine LookupComboBox zu verwenden? Das hatte ich zuerst - leider ist die Performance beim Gruppieren erschreckend langsam (teilweise über eine Minute bei Daten der Hauptquery 5000 Stück und LookupComboBox-Query ebenfalls ca 5000 Stück)...

Danke und liebe Grüsse
Peter
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#18

Re: ADO, Grid und SQL mit JOIN

  Alt 14. Jun 2005, 02:13
So,
hier wie versprochen ein Mini-Unbound Demo.
Ich hoffe es wird die offenen Fragen klären ...


Schöne Grüße,
Jens
Angehängte Dateien
Dateityp: rar qg-unbound_469.rar (781,8 KB, 33x aufgerufen)
  Mit Zitat antworten Zitat
TPeterT

Registriert seit: 17. Dez 2003
84 Beiträge
 
Delphi 7 Professional
 
#19

Re: ADO, Grid und SQL mit JOIN

  Alt 14. Jun 2005, 06:53
Hallo!
Vielen Dak für das Demo!
Scheinbar war mein Code ok..
Aber: die exe aus deinem Demo hat perfekt funktioniert - dann habe ich das Projekt geöffnet - unter Optionen die Ausgabeverzeichnisse geändert - kompiliert - und wieder nur leere Zeilen im Grid. (Beim Starten des Projektes in D.: "cxg_type.SortIndex nicht gefunden" hab ich mal ignoriert ..
eine wirklich komische Sache.. werd mal weiterprobieren und geb dann bescheid wenn ich was gefunden habe (so in 125 Jahren )

Liebe Grüsse und noch einen schönen Tag
Peter
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 15:06 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