Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20
  1. #11
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    174
    @isAlreadyInUse: stampato il valore
    @Riccardo: Giusto! Provo subito e ti faccio sapere.

  2. #12
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    174
    Problema risolto!!! Ho integrato la funzione nel codice senza aprire la nuova connessione e adesso funziona perfettamente!!! Grazie mille dell'aiuto! Vi sono veramente grato!!! A presto

  3. #13
    Originariamente inviato da Hermiod
    Problema risolto!!! Ho integrato la funzione nel codice senza aprire la nuova connessione e adesso funziona perfettamente!!! Grazie mille dell'aiuto! Vi sono veramente grato!!! A presto
    invece di integrarla nel codice potevi aggiungere come prametro la connessione, cosi hai codice piu pulito
    http://www.anobii.com/isalreadyinuse

  4. #14
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    174
    Si si, l'integrazione era una soluzione sbrigativa! Voglio cmq usare la funzione, passando appunto il riferimento alla connessine tra i parametri, visto che la devo usare in più punti!
    Una cosa però passo la connessione o lo statement???

  5. #15
    Quella funzione andrebbe evitata.
    Utilizza la funzione mysql mysql_insert_id() che ti restituisce in maniera sicura ed efficente l'ultimo id inserito nella transazione in corso. Se richiami la funzione da java, guarda nella documentazione come richiamare questa funzione
    es.
    http://dev.mysql.com/doc/refman/4.1/...tes-basic.html
    Saluti a tutti
    Riccardo

  6. #16
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    174
    Originariamente inviato da riccardone
    Quella funzione andrebbe evitata.
    Utilizza la funzione mysql mysql_insert_id() che ti restituisce in maniera sicura ed efficente l'ultimo id inserito nella transazione in corso. Se richiami la funzione da java, guarda nella documentazione come richiamare questa funzione
    es.
    http://dev.mysql.com/doc/refman/4.1/...tes-basic.html
    Mi sono documentato ed in effetti è un metodo molto efficiente, penso di usare il tuo suggerimento inserendo il relativo codice sempre in una funzione. Che ne pensi?

  7. #17
    credo che dovresti evitare di separare pezzi di codice relativi alla stessa operazione/transazione
    Saluti a tutti
    Riccardo

  8. #18
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    174
    Qualcosa del genere:
    codice:
        int getAccountId(Statement stmt, String username) {
            boolean close = false;
            int id = -1;
            Connection conn = null;
            ResultSet rs = null;
            try {
                if (stmt == null) {
                    conn = DriverManager.getConnection(strConn, dbuser, dbpassword);
                    stmt = conn.createStatement();
                    close = true;
                }
                rs = stmt.getGeneratedKeys();
                if (rs.next()) {
                    id = rs.getInt(1);
                }
            } catch (SQLException e) {
                System.err.println(e.getLocalizedMessage());
            } finally {
                if (rs != null && close) { try { rs.close(); } catch (SQLException ignore) { System.err.println(ignore.getLocalizedMessage()); }}
                if (stmt != null && close) { try { stmt.close(); } catch (SQLException ignore) { System.err.println(ignore.getLocalizedMessage()); }}
                if (conn != null && close) { try { conn.close(); } catch (SQLException ignore) { System.err.println(ignore.getLocalizedMessage()); }}
            }
            return id;
        }

  9. #19
    ribadisco quanto detto nel post precedente e ti faccio notare che se qui vai in eccezione chiudi delle risorse che il chiamante potrebbe poi andare ad utilizzare incontrando errori

    edit: ma stai aprendo una nuova connessione di nuovo?

    edit2: apri una nuova connessione se non ti viene passata dal chiamante? Non è corretto, la funzione che ti ho indicato la si usa all'interno di una transazione. Per questo motivo ti ribadisco che non è necessario crearsi una funzione staccata. La funzione riutilizzabile te la ha già resa disponibile mysql non c'e' bisogno che ne scrivi una tu che ti complica solo la vita.
    Saluti a tutti
    Riccardo

  10. #20
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    174
    Ok, come non detto! integro nel codice, tanto sono solo due righe di codice. Grazie mille ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.