Status Balken während der Ausführung einer SQL-Abfrage Anzeigen

black-dragon

Grünschnabel
Hallo,
ich speichere in eine MySQL Datenbank Dateien in einem BLOB Feld.
Bei Bedarf werden die Dateien aus der DB geladen und geöffnet. Da es teilweise größere Dateien sind, möchte ich gerne einen Status Balken (in der Art ProgressMonitor) während der Ausführung der SQL Abfrage einbauen. Leider habe ich bisher keine Lösung dafür gefunden.
Habt Ihr evtl. eine Idee wie ich dieses realisieren kann?
 
Ehrlich gesgat verstehe ich dein Problem noch nicht ganz. Was ist dein Ausgangspunkt, ich meine ein Codeschnipsel hilft eventuell ein wenig ;)
Hier eine Vermutung: Möchtest du vielleicht den Fortschrittsbalken als Komponente selbst haben und nicht in einem gesonderten Dialog? Dann hilft dir die PorgressBar.
 
Hallo HonniCilest

innerhahlb einer Klasse für die Datenbankabfragen verwende ich eine Funktion für das abrufen von Dateien aus der Datenbank.

Code:
public String getFile(String $tabelle, String $spalteFile,String $spalteName,String $abfrage, String $wert){
        get_query("SELECT "+$spalteName+","+$spalteFile+" FROM "+$tabelle+" WHERE "+$abfrage+"='"+$wert+"'"); //Speichert das Ergebnis in einem ResultSet
        try{
        	byte[] buffer = new byte[8192];
                int bytesRead = 0;
                InputStream inputStream = ergebnis.getBinaryStream($spalteFile);
                File outFile = new File("c:/TEMP/"+get_next_result($spalteName));
                if(!outFile.exists()){
                	FileWriter log = new FileWriter(outFile.getPath(),true);
    			log.flush();
    			llog.close();
                }
                FileOutputStream fileOutputStream = new FileOutputStream(outFile);
                while ((bytesRead = inputStream.read(buffer)) > 0) {
                    fileOutputStream.write(buffer, 0, bytesRead);
                }
                fileOutputStream.flush();
                inputStream.close();
                fileOutputStream.close(); 
                outFile.deleteOnExit();
                return outFile.getAbsolutePath();
        	}
        	catch(Exception e){
        		e.printStackTrace();
        		return "";
        	}
        }
Ich möchte einen Status Balken anzeigen für die Zeit in der das SQL-Statement ausgeführt wird.
Als Beispiel ich habe eine Datei in der DB gespeichert die 20MB groß ist. Diese lade ich aus der DB mit der Funktion getFile() herunter. Ich möchte gerne einen Status-Balken in der Zeit anzeigen lassen, der mir anzeigt wie weit der Download fortgeschritten ist.
 
Zurück