Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-11-2009, 16:05   #1
sfida89
Junior Member
 
Iscritto dal: Oct 2006
Messaggi: 10
[Java] Database e Thread

Salve a tutti ragazzi, sto impazzendo per un problema, forse stupido.
Ho fatto un'applicazione java che si connette ad un database, recupera i dati e li mostra.
Durante il collegamento, il programma sembra bloccato.
Per risolvere, ho pensato di creare un thread e di utilizzare una progress bar in modo indeterminato, questo il codice:
Codice:
public void visualizzaClienti(final Vector cli) {
        //VISULIZZA CLIENtI
        operazione = "cliente";

    
        Runnable visualizza=new Runnable() {

            public void run() {
                progressBar.setIndeterminate(true);
                setTabellaClienti();
                DefaultTableModel tb = (DefaultTableModel) libriTable.getModel();
                //Vector v;
                //String q;

                String q;
                Vector v;

                Database.eseguiAggiornamento("LOCK TABLES `Ordini` WRITE, `SpecOrdini` WRITE,`Clienti` WRITE");
                if (cli.size() == 0) {

                    q = "SELECT * FROM `Clienti` WHERE `cod_cliente` LIKE '%" + getNegozio() + "%'";
                    v = Database.eseguiSelectQuery(q);
                } else {
                    v = cli;
                }

                if (v.size() == 0) {
                    JOptionPane.showMessageDialog(mainPanel, "Nessun Cliente presente!", "Attenzione", JOptionPane.WARNING_MESSAGE);
                } else {
                    for (int i = 0; i < v.size(); i++) {
                        String[] r = (String[]) v.elementAt(i);
                        tb.insertRow(i, r);
                        //controllo quante opere in ordine ha questo cliente
                        //1-se c'è, reucupero dalla tabella ordini l'id_ordine associato al cliente
                        q = "SELECT * FROM `Ordini` WHERE `ID_Cliente` LIKE '" + r[1] + "'";
                        Vector f = Database.eseguiSelectQuery(q);
                        System.out.println("Utente " + r[1] + " con " + f.size() + " ordini");
                        if (f.size() == 0) {
                            tb.setValueAt("0", i, 6);
                        } else {
                            //per ogni ordine, recupero da SPECORDINE quelli con stato=0,1,2
                            int totOrdine = 0;
                            for (int y = 0; y < f.size(); y++) {
                                String[] o = (String[]) f.elementAt(y);
                                q = "SELECT * FROM `SpecOrdini` WHERE `ID_Ordine` LIKE '" + o[1] + "' AND (`Stato` LIKE '" + StatoLibro.IN_ORDINE + "' OR `Stato` LIKE '" + StatoLibro.A_MAGAZZINO + "' OR `Stato` LIKE '" + StatoLibro.DISPONIBILE + "')";
                                Vector w = Database.eseguiSelectQuery(q);
                                totOrdine += w.size();
                                System.out.println("        Ordine " + o[1] + " con " + w.size() + " libri");
                            }
                            tb.setValueAt(totOrdine, i, 6);
                        }

                    }

                    //Elimino la colonna ID, che non mi serve
                    TableColumn tc = libriTable.getColumnModel().getColumn(0);
                    libriTable.removeColumn(tc);
                    Btn_modClienti.setEnabled(false);
                    statusMessageLabel.setText("Trovati " + v.size() + " clienti");
                    Database.eseguiAggiornamento("UNLOCK TABLES");
                    progressBar.setIndeterminate(false);
                }
            }
        };
        try {
            SwingUtilities.invokeLater(visualizza);
        } catch (Exception ex) {
            System.out.println(ex);
        } 
        
        
    }
Il problema è che non ottengo il risultato desiderato, ovvero la progress bar non parte e il programma sembra bloccato.
Potete aiutarmi???
sfida89 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Windows punta sull'intelligenza ibrida: ...
NVIDIA DGX Station arriva su Windows, in...
Per Nadella e Huang, CEO di Microsoft e ...
Microsoft Surface Laptop Ultra, ufficial...
TP-Link, quattro Stati americani fanno c...
Fino a 45.000 dollari di vantaggi per le...
Cooler Master V8 ACE 3DHP: un'unica torr...
SpaceX vuole 40 miliardi per i chip Nvid...
Power Station portatile EcoFlow DELTA 2 ...
Full Self-Driving di Tesla, la Germania ...
Nobel per la Fisica 2026 a Francis Halze...
Niente lunotto, tre motori e un cofano i...
Fai fare tutto all'intelligenza artifici...
ASUS PRIME Radeon RX 9070 a 599,99€: pre...
Stop ai datacenter di Google in Finlandi...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v