DBGrid vs. ListView
-
Hallo, ich arbeite schon seit Jahren mit ListView. Ich habe bis jetzt immer die Datenbanke in ein Listview angezeigt. Mittlerweile sind die Tabelle so groß, dass das auslesen in Listview sehr lange dauert. Probiert habe ich zufällig ein DBGrid und siehe da, die Tabellen werden super schnell angezeigt. Jetzt meine Frage: ist dbgrid für sowas besser geeignet. Ja ich weiß dass es extra für datenbanken entwickelt wurde. Jedoch frage ich mich, ob so ein dbgrid nicht die datenbankverbindung ständig belegt. wenn ich nämlich ein query->Active=false setze dann ist mein dbgrid leer. Somit muß die datenbankverbindung immer an sein. Das würde doch bei vielen Usern sehr die datenbank abbremsen. Sehe ich das richtig?
-
Hallo
ist halt die Frage : willst du eher kleine Tabellen schnell und aktuell anzeigen oder eine größerer Ansicht generieren und dann eine längerer Zeit anzeigen und bearbeiten lassen, unabhängig von der Datenbank. Es gibt eben kein perfektes Control für alle Zwecke.
bis bald
akari
-
Hi, danke erstmal auf die Antwort. Also ich habe solche und solche Tabellen. Die einen sind sehr klein die anderen voll. Es kommt oft vor das eine tabelle ausgelesen wird und ständig auf dem bildschirm zu sehen ist. Mit ListView habe ich es mir gedacht, dass ich schnell eine verbindug zur datenbank herstelle, die daten schnell ins listview einlesen und die verbindug trenne. somit halte ich den datentransfer übers netzwerk gering. Wie ist das mit dbgrid. dort ist doch die verbindug ständig gegeben. an sonsten bei einer trennung der verbindung wird das dbgrid auch gelöscht. Sehe ich das richtig? Ich habe halt auch ein problem, dass größere Tabelle sehr lange ins listview eingelesen wird. ab einer menge von datensätzen wird listview hammer langsam.
-
Hallo
ja, bei DBGrid wird die Verbindung aufrechtgehalten, aber das heißt nicht das ständig Daten transferiert werden. Es werden ausreichend Daten vorausgeladen, um den Traffic gering zu halten. Wenn es um eine rein tabellarische Darstellung von per SELECT abgefragten Daten geht, nehme ich immer DBGrid und habe keine Geschwindigkeits- oder Trafficprobleme bei mehreren Clients.
bis bald
akari
-
akari schrieb:
... nehme ich immer DBGrid und habe keine Geschwindigkeits- oder Trafficprobleme bei mehreren Clients.
Dies deckt sich mit meinen Erfahrungen. Ich verwende in 99 Prozent der Fälle ein DBGrid.
-
Kann es evtl sein, das das DBGrid die Daten beim Scrollen nachläd und desshalb schneller ist?
das wäre ja vill. auch eine Möglichkeit für deinen ListView....
-
Hi alle,
ja es wäre ein Lösung die Daten bei Bedarf nachzuladen. Jedoch kann ich dann sofort dbgrind nehmen und mir den programmieraufwand sparen. ich habe es jedoch mal mit eigenen augen gesehen, wie ein kollege von mir eine datenbankanwendung programmiert hat und dort dbgrid genommen hat. sobald mehr als eine person mit dem programm gleichzeitig gearbeitet hat ging das wunderbar. Bei mehr als einem user konnte man teilweise dazwischen einen kaffee trinken gehen.
-
BlackDragon1 schrieb:
...wie ein kollege von mir eine datenbankanwendung programmiert hat und dort dbgrid genommen hat. sobald mehr als eine person mit dem programm gleichzeitig gearbeitet hat ging das wunderbar. Bei mehr als einem user konnte man teilweise dazwischen einen kaffee trinken gehen.
Ich interpretiere das mal als 'Mit einem User wunderbar, bei mehreren Usern langsam'.
Da stimmte dann aber irgendetwas anderes nicht. Das lag nicht am DBGrid. Ich hab hier zwei informix-DBs und noch ein paar alte Paradox-Tabellen. Sogar bei den Paradox-Tabellen funktioniert der Zugriff mit mehr als 30 Usern klaglos.