Pagina 2 di 4 PrimoPrimo 1234 UltimoUltimo
Mostra risultati da 11 a 20 di 31

Discussione: programmare in Java attraverso Geany

  1. #11
    Data registrazione
    Apr 2019
    Sesso
    Uomo
    Messaggi
    17
    Grazie dati 
    0
    Grazie ricevuti 
    4
    Ringraziato in
    3 post

    Riferimento: programmare in Java attraverso Geany

    Citazione Originariamente scritto da Andy86 Vedi messaggio
    :
    Quello nel riquadro sopra è il modus operandi giusto ed è per questo che è l'unico che non produce errori.
    Allora ho capito. Questo mi consola.

    Se guardi il codice vedi che prendo in parametro gli "args" passati in parametro al programma e con un print personalizzato li stampo in tutto tre volte per ognuno, attaccando il numero di print a ogni output
    Ah.
    Ho capito che doveva stampare qualcosa 3 volte, ma non avevo capito da dove veniva l'input, perchè non avevo collegato che l'input al parametro args doveva venire dallo stesso comando d'avvio del package.
    Ora capisco anche il significato della parte tra parentesi ((String args[]) della 1.a riga del metodo main di ciascun programma
    Codice:
    Only registered members can view code.
    Grazie!

    Ho rilanciato la procedurina mio_progetto ed ecco il risultato:
    Codice:
    Only registered members can view code.
    Va bene. Applicherò i concetti con cui mi hai illuminato al mio progettino e riprovo a compilare. Ti faccio sapere.

    Rispondi citando Rispondi citando Il mio PC

  2. # ADS
    Google Adsense Circuito Adsense
    Data registrazione
    da sempre
    Messaggi
    molti
     
  3. #12
    Data registrazione
    Apr 2019
    Sesso
    Uomo
    Messaggi
    17
    Grazie dati 
    0
    Grazie ricevuti 
    4
    Ringraziato in
    3 post

    Riferimento: programmare in Java attraverso Geany

    Allora, ho modificato il mio progettino, seguendo i criteri package indicati da te. Ho avviato la compilazione ed ho ottenuto 5 errori, tutti riconducibili, secondo me, alla gestione del DB.
    Ho cercato di capire, andando anche a leggere esempi e pseudo-guide in merito. Naturalmente non ho trovato risposte calzanti col mio tipo di realtà. Però ho visto che la maggior parte dei documenti trovati utilizza, per la connessione al Db,
    Codice:
    Only registered members can view code.
    caricando, di fatto, il driver JDBC.
    Però, visto che ho trovato anche esempi in cui non viene utilizzato, non ho più capito come comportarmi.
    Allego comunque il mio progettino.
    Per completare il quadro, allego anche il risultato della compilazione:
    Codice:
    Only registered members can view code.
    File allegati File allegati

    Rispondi citando Rispondi citando Il mio PC

  4. #13
    Data registrazione
    Jan 2010
    Sesso
    Uomo
    Messaggi
    18,835
    Grazie dati 
    5,603
    Grazie ricevuti 
    3,667
    Ringraziato in
    2,980 post

    Riferimento: programmare in Java attraverso Geany



    Allora, facendo una ricerca nel javadoc sembra che richiamare la classe con forName() per il driver jdbc non sia più necessario dalla versione 4 in poi. Il metodo resta disponibile per compatibilità con i programmi scritti prima di Java 4, così che possono funzionare senza essere riscritti.

    Per cui possiamo dimenticarlo e proseguire con il metodo classico.

    Ora, il tuo errore in compilazione dipende dal fatto che tu chiami il try fuori da ogni blocco, ma in java non si può.
    Immagino tu volessi eseguire quel codice al momento dell'installazione della classe, per fare ciò devi metterlo nel costruttore, così:

    Codice:
    Only registered members can view code.
    Ora non ho ben capito perché hai dichiarato la var "conn" pubblica e statica, non credo volessi implementare il singleton, che tra l'altro è una procedura abbastanza sconsigliata nei forum specializzati.

    Ha senso invece mettere static la var dbConn, visto che contiene una stringa 'hardcoded' uguale per tutte le istanze, quindi è inutile replicarla in ram per ogni istanza, anche se in questo caso l'impatto sarebbe con ogni probabilità impercettibile.

    Più sensato ancora sarebbe prendere quella stringa al costruttore in modo da permettere in futuro di poter creare una seconda istanza di connettiDB che vada a puntare ad un secondo (e magari ad un terzo) database senza doverne riscrivere il codice.

    Tornando alla compilazione, ora restano solo due errori, ovvero tu chiami sulla classe ConnettiDB due metodi che in realtà non dichiari, esattamente close() e createStatement(), quindi, o stai cercando di compilare un codice incompleto, o stavi cercando di chiamare quei metodi su qualcos'altro e hai scopiazzato il codice senza cambiare i nomi delle variabili...

    Oppure forse stavi cercando di chiamare quei metodi sul conn statico che hai dichiarato nella classe ConnettiDB?
    Avresti dovuto fare ConnettiDB.conn.createStatement(), ma continua a non stare in piedi.

    Ora io in Java non ho mai lavorato con i DB, e a dire il vero neanche mi ricordo quasi più la parte di PHP che studiai per il diploma (), però la prima cosa che mi viene in mente, riallacciandomi a quando detto prima, è incapsulare i metodi nella classe ConnettiDB, in modo che tu chiami i metodi sull'istanza di ConnettiDB e ConnettiDB chiama a sua volta i metodi sull'istanza di database che contiene.

    Se ho ragione quello che avevi in mente tu era creare un metodo (funzione) nella classe principale in cui mettere il codice per connetterti al DB e chiamarlo ConnDB, non una classe separata, che è tutt'altra cosa.
    #SaveYourInternet - Fight the #CensorshipMachine
    «non esistono "mani destre di Dio" ma solo utenti con la volontà di aiutare.» (LadyHawke)

    Rispondi citando Rispondi citando Il mio PC

  5. #14
    Data registrazione
    Apr 2019
    Sesso
    Uomo
    Messaggi
    17
    Grazie dati 
    0
    Grazie ricevuti 
    4
    Ringraziato in
    3 post

    Riferimento: programmare in Java attraverso Geany

    Citazione Originariamente scritto da Andy86 Vedi messaggio
    Tornando alla compilazione, ora restano solo due errori, ovvero tu chiami sulla classe ConnettiDB due metodi che in realtÃ* non dichiari, esattamente close() e createStatement(), quindi, o stai cercando di compilare un codice incompleto, o stavi cercando di chiamare quei metodi su qualcos'altro e hai scopiazzato il codice senza cambiare i nomi delle variabili...
    Sicuramente non capisco ancora tanti criteri di costruzioni di dipendenza logica degli oggetti in java. Infatti, come hai pensato, ho scopiazzato. L'istruzione
    Codice:
    Only registered members can view code.
    se non ho capito male, avvia una nuova istanza sulla classe ConnettiDB, avviandone, di fatto, il costruttore.
    Percio', secondo me, a questo punto, non occorevva piu' fare riferimento a ConnettiDB, ma al suo puntatore conn.
    Se ho capito male, allora sono in balia delle onde.

    Tornando all'istruzione try, ho visto che hai scritto un metodo "ConnettiDB", prima dell'istruzione try, con lo stesso nome della classe. Cio' non crea nessun conflitto?

    Rispondi citando Rispondi citando Il mio PC

  6. #15
    Data registrazione
    Jan 2010
    Sesso
    Uomo
    Messaggi
    18,835
    Grazie dati 
    5,603
    Grazie ricevuti 
    3,667
    Ringraziato in
    2,980 post

    Riferimento: programmare in Java attraverso Geany

    Allora, più che aver capito bene o male (io direi nessuno dei due) hai le idee un po' confuse.

    Hai detto bene che chiamare "new ConnettiDB()" crea una nuova istanza della classe e ne chiama il costruttore, solo che il costruttore tu non l'hai messo perché il costruttore non è la dichiarazione della classe, sono due cose diverse (il compilatore non si lamenta di quello perché in Java non è obbligatorio e se non lo metti ne viene automaticamente inserito uno di default dal compilatore, cioè vuoto e senza parametri, questo ti permette di omettere il costruttore quando sarebbe vuoto e senza parametri).

    Quello che ho fatto io al tuo codice è stato appunto aggiungere il costruttore, che come hai notato non è altro che un metodo senza tipo di ritorno e con lo stesso nome della classe, nota che non ho scritto VOID e che il metodo si chiama ConnettiDB con la maiuscola, come la classe.

    Ricorda che le grafe più esterne dopo la dichiarazione della classe possono contenere solo metodi e dichiarazioni, unica eccezione sono le assegnazioni, come "String s = "hello";" che in java equivale a "String s = new String("hello");", tutto il resto DEVE stare dentro un metodo o costruttore, pena ricevere un errore in compilazione.

    Sono riuscito a schiarirti le idee?


    A questo punto come hai detto devi far riferimento alla variabile conn che contiene un oggetto di tipo ConnettiDB(), altrimenti ogni volta andresti inutilmente ad istanziare un nuovo oggetto invece che far riferimento a quello esistente, PERÒ, attraverso la var conn puoi accedere solo ai membri NON statici di ConnettiDB(), a quelli statici invece si accede con NomeClasse.membroStatico().


    Detto questo, la tua variabile non dovrebbe essere né statica né pubblica, e ti spiego perché non dovrebbe essere statica con un esempio:

    Se tu crei una classe Sedia, metti una variabile colore e la rendi statica e poi al costruttore assegni il colore per ogni sedia, es:
    new Sedia(Color.yellow); new Sedia(Color.brown); new Sedia(Color.green);

    Alla fine tutte le sedie saranno verdi, questo perché le istanze stanno condividendo la variabile 'colore', quindi ogni nuova istanza nel costruttore, cambiando la variabile colore, andrà a cambiare il colore di tutte le sedie.

    Tralascio il perché non dovrebbe essere pubblica visto che i modificatori di visibilità e i metodi getter sono la base della OOP, ti dico solo che sarebbe meglio creare un metodo per ogni metodo che devi chiamare sull'oggetto conn interno a ConnettiDB, esempio:

    public void close() {
    conn.close();
    }

    Così l'oggetto "conn" ottenuto da drivermanager rimane nascosto all'interno di ConnettiDB e non c'è il rischio di modificarlo per sbaglio.

    E così potresti anche chiamare il metodo come avevi fatto, ovvero con "conn.close();" nella classe principale, perché close diventa un membro pubblico di ConnettiDB.

    Spero sia tutto chiaro.
    #SaveYourInternet - Fight the #CensorshipMachine
    «non esistono "mani destre di Dio" ma solo utenti con la volontà di aiutare.» (LadyHawke)

    Rispondi citando Rispondi citando Il mio PC

  7. #16
    Data registrazione
    Apr 2019
    Sesso
    Uomo
    Messaggi
    17
    Grazie dati 
    0
    Grazie ricevuti 
    4
    Ringraziato in
    3 post

    Riferimento: programmare in Java attraverso Geany

    Citazione Originariamente scritto da Andy86 Vedi messaggio
    Tornando alla compilazione, ora restano solo due errori, ovvero tu chiami sulla classe ConnettiDB due metodi che in realtÃ* non dichiari, esattamente close() e createStatement(), quindi, o stai cercando di compilare un codice incompleto, o stavi cercando di chiamare quei metodi su qualcos'altro e hai scopiazzato il codice senza cambiare i nomi delle variabili...

    Oppure forse stavi cercando di chiamare quei metodi sul conn statico che hai dichiarato nella classe ConnettiDB?
    Ho ripreso la tua segnalazione riportata sopra, perche', in questi giorni, quando ho potuto, ho cercato di capire come muovermi, infatti mastico ancora male la maniera con cui istanziare una classe o chiamare i metodi in essa contenuti. Ho cercato un po' anche in giro sul web, ma la mia casistica non l'ho trovata. Ho trovato questo articolo, calzante con quello che devo fare io, anche se io vorrei tenere le query fuori dalla classe "ConnettiDB". Infatti le query possono mutare nei parametri SQL di ricerca, a seconda delle necessita' di ciascun programma, quindi lascerei nella classe "ConnettiDB soltanto l'istanziazione per l'apertura della connessione al DB e il metodo per la sua chiusura.

    Cio' significa che tutti i "createstatment" necessari dovrebbero funzionare sul DB gia' connesso, direttamente dal "main" o da altro/i metodo/i della classe "aggUltUsoPiacont" (quella col main).

    Detto questo ho provato ad aggiungere in "ConnettiDB" il metodo close(), seguendo proprio quanto contenuto nel link che tui ho indicato sopra:
    Codice:
    Only registered members can view code.
    La sua chiamata l'ho scritta cosi':
    Codice:
    Only registered members can view code.
    Non ho avviato la compilazione perche' non riesco a costruire l'istruzione "createstatement" e perche' non ho capito l'aggancio logico di "conn.chiudiConn();" col rispettivo metodo interno alla Classe "ConnettiDB".
    Scusa se approfitto della tua disponibilitÃ*, ma dopo 3 giorni di ricerche ragionate, non riesco a trovare la strada giusta da imbroccare.

    Rispondi citando Rispondi citando Il mio PC

  8. #17
    Data registrazione
    Jan 2010
    Sesso
    Uomo
    Messaggi
    18,835
    Grazie dati 
    5,603
    Grazie ricevuti 
    3,667
    Ringraziato in
    2,980 post

    Riferimento: programmare in Java attraverso Geany



    Allora, le query è giusto tenerle fuori da connetti db, ma lo puoi/devi fare usando il passaggio per parametro, esattamente come fa nel codice riportato nel link, cioè se tu in connettiDB fai un metodo che si chiama "eseguiQuery(string query)" all'interno non riporti la query, ma soltanto la var query.

    Nella classe principale chiamerai connettiDB.eseguiQuery("blablabla"); il tuo metodo eseguiQuery(string query) assegnerà "blablabla" alla var query e a sua volta il metodo executeQuery(query); riceverà "blablabla" da query.

    Così tutte le query, hardcoded o meno, restano nella classe principale, ma il codice che le esegue con i vari oggetti privati resta dentro connetti DB.

    Una volta consumato il metodo la var query cesserà di esistere.
    Ricorda che se crei altre var con lo stesso nome dovrai risolvere i conflitti usando this.

    ----

    Per quanto riguarda il chiuConn, che io avrei chiamato semplicemente close, tanto java permette l'overload dei metodi, poi sono in classi diverse, ci sono due cose che non vanno:

    - prima cosa tu dichiari il metodo con un tipo di ritorno booleano, significa che il tuo metodo deve restituire un valore booleano, e questo devi farglielo fare tu, con la parola chiave return seguita da un valore booleano o da qualcosa che lo ritorni, forse intendevi restituire il valore di dbConn alla fine del metodo, quindi dopo il catch devi aggiungere un blocco finally {} e metterci dentro "return dbConn".

    - la seconda cosa è che tu metti true quando chiudi il database e falso quando rimane aperto, secondo me dovresti proprio fare il contrario, visto che la variabile la inizializzi a false, cioè database chiuso (situazione iniziale) uguale falso, poi nel try sotto getConnection la metti a true, così se il db viene aperto la var va a true, poi quando viene chiuso sarà rimessa a false. (altrimenti mi pare che non abbia molto senso).

    poi, visto che hai fatto la variabile, mettici anche un metodo isConn() che restituisca il valore di quella var, così potrai controllare se un'istanza del db ha ancora una connessione aperta prima di usarla.

    ------

    Il createStatement nella guida lo chiama sull'oggetto che ottieni con getConnection, quindi nel tuo caso, "conn".

    Ovvero, tornando al suggerimento di prima, nel metodo query(String query), nel try metti:

    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery(query);

    Quindi dalla connesione prendi lo Statement e poi sullo statemente chiami la query passandola per parametro e ottieni un ResultSet che contiene il risultato della query.

    Il resto del codice che vedi nella guida seve a convertire il ResultSet in un Vector prima di resituirlo, non ho capito nemmeno io dove stia il vantaggio, non ho mai lavorato con i db in java, probabilmente lo fa per poter chiudere il ResultSet nel finally senza perdere i dati per strada o lasciare buffer aperti.

    --------

    Per quanto riguarda la chiamata nel metodo principale, anche qui ci sono due errori.

    Primo, non si mette il blocco finally prima del blocco catch, dovrebbe proprio dare errore in compilazione.
    L'ordine è sempre try - catch - finally.

    Seconda cosa, tu hai chiamato subito il close nel main, dopo aver generato il newDb.
    Questo però mal si sposa con il fatto che tu vuoi chiamare e gestire le query dopo il metodo main.

    Il finally verrà chiamato anche se il try va a buon fine, per cui con quel sistema alla fine del metodo main il database verrà chiuso e quando cercherai di fare la query ti uscirà un eccezione relativa al fatto che il database è stato chiuso.

    Se vuoi evitare di lasciare in giro oggetti DB aperti senza ricordarti di chiuderli devi legare l'apertura del database alla query invece che al costruttore, cioè ogni volta che fai una query crei un nuovo oggetto db (senza hard reference in cima alla classe), esegui la query e poi lo chiudi, ma non è la soluzione migliore in fatto di performance se devi fare tante query, perché ricreare l'oggetto ogni volta da zero consuma sicuramente più risorse che farlo una volta sola.

    Con il metodo classico, invece, all'interno del programma principale, sarai tu a chiudere la connessione quando decidi che non ti serve più.
    #SaveYourInternet - Fight the #CensorshipMachine
    «non esistono "mani destre di Dio" ma solo utenti con la volontà di aiutare.» (LadyHawke)

    Rispondi citando Rispondi citando Il mio PC

  9. #18
    Data registrazione
    Apr 2019
    Sesso
    Uomo
    Messaggi
    17
    Grazie dati 
    0
    Grazie ricevuti 
    4
    Ringraziato in
    3 post

    Riferimento: programmare in Java attraverso Geany

    Citazione Originariamente scritto da Andy86 Vedi messaggio
    Allora, le query è giusto tenerle fuori da connetti db, ma lo puoi/devi fare usando il passaggio per parametro, esattamente come fa nel codice riportato nel link
    Quindi, se ho ben capito, il tuo consiglio (percorso obbligatorio) è quello di lasciare qualsiasi azione sul DB, dall'apertura della connessione da fare una sola volta a carico del costruttore, alle query di lettura , di aggiornamento, di scrittura e persino di cancellazione, fino alla chiusura della stessa connessione, all'interno della classe ConnettiDB. Ciò perchè il metodo chiamato di volta in volta riesce a svolegere il suo lavoro sul DB, attraverso la stringa di parametri che gli vengono passati con la chiamata.

    E' questo il metodo classico a cui ti riferisci?
    Con il metodo classico, invece, all'interno del programma principale, sarai tu a chiudere la connessione quando decidi che non ti serve più.
    Per quanto riguarda il chiuConn, che io avrei chiamato semplicemente close, tanto java permette l'overload dei metodi, poi sono in classi diverse, ci sono due cose che non vanno:

    - prima cosa tu dichiari il metodo con un tipo di ritorno booleano, significa che il tuo metodo deve restituire un valore booleano, e questo devi farglielo fare tu, con la parola chiave return seguita da un valore booleano o da qualcosa che lo ritorni, forse intendevi restituire il valore di dbConn alla fine del metodo, quindi dopo il catch devi aggiungere un blocco finally {} e metterci dentro "return dbConn".
    Si, hai ragione, me ne sono accorto proprio poco fa, prima dimettere mano alla presente risposta. Farò come dici.

    - la seconda cosa è che tu metti true quando chiudi il database e falso quando rimane aperto, secondo me dovresti proprio fare il contrario, visto che la variabile la inizializzi a false, cioè database chiuso (situazione iniziale) uguale falso, poi nel try sotto getConnection la metti a true, così se il db viene aperto la var va a true, poi quando viene chiuso sarà rimessa a false. (altrimenti mi pare che non abbia molto senso).

    poi, visto che hai fatto la variabile, mettici anche un metodo isConn() che restituisca il valore di quella var, così potrai controllare se un'istanza del db ha ancora una connessione aperta prima di usarla.
    Concordo anche con tutto cio'.

    Il createStatement nella guida lo chiama sull'oggetto che ottieni con getConnection, quindi nel tuo caso, "conn".

    Ovvero, tornando al suggerimento di prima, nel metodo query(String query), nel try metti:

    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery(query);

    Quindi dalla connesione prendi lo Statement e poi sullo statemente chiami la query passandola per parametro e ottieni un ResultSet che contiene il risultato della query.
    Il createStatement è quello che mi risulta più difficile da capire. Dal tuo esempio capisco che occorra, prima di far partire una query, dichiarare una variabile "Statement miaVar", associandola al DB "conn" connesso col costruttore, relativamente al quale viene generato il costrutto per la corretta esecuzione della query dell'istruzione successiva (ResultSet rs = stmt.executeQuery(query);), dove rs è la variabile di destinazione di tutti i valori estratti dalla query.
    Però "ResultSet rs" mi fa pensare più ad un'area di memoria a cui potere accedere in base ai nomi di variabili indicati nei parametri della query (rs.var1, rs.var2, ...)
    Non voglio mettere troppa carne sul fuoco. Ho accennato qualcosa su ResultSet solo per completare il quadro di lettura delle 2 istruzioni che mi hai indicato.

    Rispondi citando Rispondi citando Il mio PC

  10. #19
    Data registrazione
    Jan 2010
    Sesso
    Uomo
    Messaggi
    18,835
    Grazie dati 
    5,603
    Grazie ricevuti 
    3,667
    Ringraziato in
    2,980 post

    Riferimento: programmare in Java attraverso Geany

    Giusto per le prime tre cose, il metodo classico che intendevo è proprio quello.

    Per l'ultima cosa, quello che tu chiami "area di memoria [...]" è effettivamente un puntatore ad un oggetto, ma come penso tu sappia o abbia capito un oggetto è una classe che contiene sia variabili che metodi, quindi tu sull'oggetto contenuto in rs, visto che sarà di tipo ResultSet, potrai chiamare tutti i metodi contenuti nella classe ResultSet, che puoi trovare nella documentazione.

    Effettivamente in ResultSet ci sono tutti una serie di metodi per ottenere (e modificare) i risultati della Query in vari formati e ottenere il conteggio dei risultati trovati e cose così, fai riferimento alla documentazione per la descrizione completa: https://docs.oracle.com/javase/7/doc...ResultSet.html

    Tornando ai puntatori, il metodo createStatement, come suggerisce il nome, crea e restituisce un oggetto di tipo Statement, quindi al suo interno succede qualcosa tipo:

    Statement s = new Statement();
    return s;

    Ovviamente insieme a svariate altre cose.

    Quindi quando tu dichiari un puntatore (non ho capito se conosci linguaggi tipo c++, comunque scrivere "Object o" in java è un po' diverso che farlo in c++ , in java diventa automaticamente puntatore solo che l'indirizzo non è modificabile... blablabla, se non conosci il c++ dimentica quello che ho appena detto) dichiari solo l'area di memoria in cui memorizzare l'oggetto, ma dentro non c'è ancora nulla, poi tu crei quel qualcosa con il new (o in questo caso chiami il metodo che contiene il new) e ce lo metti dentro per poterlo riprendere senza istanziarlo di nuovo.
    #SaveYourInternet - Fight the #CensorshipMachine
    «non esistono "mani destre di Dio" ma solo utenti con la volontà di aiutare.» (LadyHawke)

    Rispondi citando Rispondi citando Il mio PC

  11. #20
    Data registrazione
    Apr 2019
    Sesso
    Uomo
    Messaggi
    17
    Grazie dati 
    0
    Grazie ricevuti 
    4
    Ringraziato in
    3 post

    Riferimento: programmare in Java attraverso Geany

    Grazie Andy86 per i tuoi suggerimenti.
    Sto preparando attentamente la classe col costruttore per gestire il DB, rivedendo passo dopo passo le istruzioni del link che ti ho passato nel post n.16. Soffermandomi sulla parte iniziale, relativa all'attivazione della connessione, mi sembra che non sia affidata ad un cosiddetto costruttore ma al modulo connetti con valore di ritorno di tipo booleano. Dette istruzioni, pulite da spiegazioni e commenti, sono le seguenti:
    Codice:
    Only registered members can view code.
    Ciò permetterebbe infatti di interrogare la variabile booleana ritornata dal metodo "connetti", per conoscere l'esito della connessione.
    Però devo dire anche che non ho capito che fine fa il messaggio d'errore, provocato, in caso di insuccesso nella connessione, dall'insieme catch nella variabile "errore". Non capisco come possa fare il chiamante a prelevare il contenuto di detta variabile, qualora venisse restituito un valore booleano "false".

    Inoltre questa maniera di avviare la connessione è completamente diversa da quella che avevo cominciato a mettere in pratica io, attraverso l'impiego di un costruttore, grazie anche ai tuoi suggerimenti,
    Volendo creare una classe tuttofare sul DB, forse non ha più senso mantenere il metodo costruttore. Mantenendo in fatti tale metodo, non posso ricevere alcuna variabile di ritorno; dovrei pertanto aggiungere un'interrogazione, successiva alla richiesta di connessione, per sapere se sia avvenuta o meno, a meno che non possa dichiarare una variabile statica da interrogare dopo che la classe chiamata per la connessione abbia concluso il suo lavoro, con un'istruzione del tipo
    Codice:
    Only registered members can view code.
    Ultima modifica di pierigia; 09-05-19 alle 14: 56.

    Rispondi citando Rispondi citando Il mio PC

Segnalibri

Regole di scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Cookies:direttiva 2009/136/CE (E-Privacy)

Il sito utilizza cookies propri e di terze parti per maggiori informazioni faq - Termini di servizio - Cookies
Il forum non puo' funzionare senza l'uso dei cookies pertanto l'uso della community è vincolato dall'accettazione degli stessi, nel caso contrario siete pregati di lasciare la community, proseguendo la navigazione acconsenti all’uso dei cookie