AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Progressbar??

Ein Thema von Mauli · begonnen am 23. Apr 2003 · letzter Beitrag vom 30. Apr 2003
Antwort Antwort
Benutzerbild von Mauli
Mauli

Registriert seit: 7. Apr 2003
Ort: Wuppertal
160 Beiträge
 
Delphi 2005 Enterprise
 
#1

Progressbar??

  Alt 23. Apr 2003, 13:09
Hallo,

weiß jemand, ob es so etwas ähnliches wie eine ProgressBar für eine SQL gibt?

Es gibt sicher keine fertige Komponente. Aber vielleicht gibt es ja einen Weg. Oder welche Vorrausetzungen brauche ich dafür?

Danke
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Progressbar??

  Alt 23. Apr 2003, 13:15
Zitat von Mauli:
weiß jemand, ob es so etwas ähnliches wie eine ProgressBar für eine SQL gibt?
Ich habe von Datenbanken nicht viel Ahnung, aber so viel weiß ich: SQL ist eine Datenbank-Abfragesprache, was soll die mit einer Fortschrittsanzeige am Hut haben?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Mauli
Mauli

Registriert seit: 7. Apr 2003
Ort: Wuppertal
160 Beiträge
 
Delphi 2005 Enterprise
 
#3
  Alt 23. Apr 2003, 13:19
Vielleicht kann man ja die Dauer einer solchen SQL ungefähr bestimmen, wenn man z.B. die Tabellengröße kennt und weiß was die SQL macht.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4
  Alt 23. Apr 2003, 16:26
Hallo Mauli,

herzlich willkommen im Delphi-Praxis Forum.

Zu deiner Frage: Nein, einen ProgressBar gibt es da nicht. SQL ist je so gedacht, dass die Abfrage an einen Datenbankserver geschickt wird, der wertet die Abfrage aus und schickt die Daten zurück. D.h. die Zeit, die benötigt wird hängt ab von dem Verkehr in deinem Netz, der Anzahl der Anfragen beim Server, der Komplexität der Abfrage und der Menge der Datensätze. Das bedeutet, dass eine Abschätzung sehr schwer möglich ist. Der Server liefert dir hierzu auch keine Informationen.

Solltest du aber wirklich wissen, dass eine Abfrage in der Regel x Sekunden dauert, kannst du nach dem Absenden der Abfrage einen Progressbar runterlaufen lassen, aber manuell und ich vermute sogar über einen eigenen Thread, weil der Hauptprozess auf die Daten wartet.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Mauli
Mauli

Registriert seit: 7. Apr 2003
Ort: Wuppertal
160 Beiträge
 
Delphi 2005 Enterprise
 
#5
  Alt 23. Apr 2003, 16:27
Danke
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#6
  Alt 23. Apr 2003, 16:32
Tja bitte, Mauli.
Wenn du aber eine Desktopdatenbank benutzt, wie Paradox, dBase oder Access, könntest du anstelle einer Query durchaus auch die Datenbank in einer Schleife durchlaufen und die Bedingung testen. Dann könntest du vorher mit RecordCount den ProgressBar initialisieren und ihn dann nach jeden x-ten Schritt aktualisieren.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.611 Beiträge
 
#7
  Alt 30. Apr 2003, 13:10
Zitat von MrSpock:
Das bedeutet, dass eine Abschätzung sehr schwer möglich ist. Der Server liefert dir hierzu auch keine Informationen.
Kommt auf die Datenbank drauf an. Der Microsoft SQL Server und Oracle bieten Programmschnittstellen an, mit denen mal einen Ablaufplan eines Statements prüfen kann.

Damit wird das Statement an den Server geschickt, und der Antwortet mit einer ungefähren Angabe, wie lange die Abfrage dauern wird.

Nachteil: Die Rechnerei kostet logischerweise auch Performance. Ich würde mit so einer Funktion nur sehr Sparsam umgehen und nur dann, wenn ich weiss das ein auf jeden Fall Statement länger als 5 Sekunden laufen wird.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:53 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