Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    22

    Funzione close() di Statement

    Salve sapreste dirmi qual'è il codice del metodo close() di un oggetto di tipo Statement?

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Funzione close() di Statement

    Originariamente inviato da sprax_87
    Salve sapreste dirmi qual'è il codice del metodo close() di un oggetto di tipo Statement?
    I sorgenti di Java li puoi scaricare da qui




    qual è
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Considerando che Statement è un'interfaccia, i suoi metodi non hanno alcuna implementazione.

    L'implementazione vera e propria sta nelle classi concrete che sono fornite dal driver JDBC. Ciascun driver JDBC viene creato dal produttore del DBMS, quindi direi che non sei facilitato nella ricerca (che poi mi chiedo a cosa ti serva).

    Per prima cosa devi capire di quale Statement stai cercando l'implementazione (CallableStatement? PreparedStatement? Altro vendor-specific?)
    Una volta individuato la classe che ti interessa, vai a chiederne il sorgente al produttore (sempre che sia disposto a dartela).

    Non ci sono altre vie.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    22
    Cerco di spiegarmi meglio....

    Ho due classi create da me:

    1) ConnectDB: in cui ho definito i seguenti metodi:

    1.1) una che mi consente di effettuare la connessione ad un database;
    1.2) uno che mi restituisce il ResultSet di una query

    2)getId: che sfrutta i metodi della classe ConnectDB per effettuare diverse query sul DB e di lavorare con il ResultSet ottenuto.

    Ora, il mio problema è che una volta che ho finito di lavorare con il ResultSet nella classe getID devo chiudere Statement e Connessione.

    Per la chiusura della connessione nella classe ConnectDB ho definito la sequente funzione:

    codice:
    public void closeConnect(){
    		try{
    			if(null==c){
    				c.close();
    				c = null;
    			}
    		}
    		catch (SQLException e){
    			e.printStackTrace();
    		}
    	}
    Dove l'oggetto c è un oggetto privato di tipo Connect della classe ConnectDB.

    Il mio problema adesso rimane quello di definire il metodo che mi consenta nella classe getID di chiudere Statement.

    Spero di essermi riuscita a spiegare

    Grazie

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da sprax_87
    Spero di essermi riuscita a spiegare
    Non proprio.
    A parte che il codice che hai postato non può funzionare, forse volevi testare che "c" fosse diverso da null:

    codice:
    if(null != c){
       c.close();
       c = null;
    }
    Altrimenti, o non viene eseguita la close, o va in eccezione...

    Non capisco quale sia il problema: per chiudere un oggetto Statement, è sufficiente richiamarne il metodo close() esattamente come hai fatto per la Connection.

    Solo che, chiaramente, va fatto prima di chiudere la connessione...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Statement è un iterfaccia, quindi no ha codice, per avere il codice di come il metodo è implementato devi andare a vedere l'implementazione di tale metodo nel driver jdbc che usi.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.