Newsgroup: it.comp.java
Titolo: ritornare un Vector

 		
return v;
}
la connessione al database funziona, ma sembra ritornare sempre un 
vector vuoto...potete aiutarmi?
Fabio

 vector vuoto...potete aiutarmi?
Quando dici "la connessione al database funziona" intendi che il Vector
viene riempito correttamente?
In altre parole, quand'è che perdi i dati? Durante il popolamento o
durante il trasferimento all'applet? In quest'ultimo caso, dipende da
come trasferisci il Vector e può essere dovuto al semplice fatto che
il contenuto non è serializzabile.

 
il contenuto del vettore è una serie di oggetti di tipo record, una 
classe che ho creato io: implementa serializable ed è composta solo da 
alcuni campi stringa e dai metodi per leggerli e settarli....
ho scoperto che perdo i dati quando comincio a riempire il vector, 
praticamente il resultset sembra composto sempre e solo dalla prima 
tupla del database che soddisfa la query!

Fabio wrote:

:)
while (rs.next()) {
        <record> temp = new <record>();
        ...
        v.add(temp);
}
ovvero: devi aggiungere istanze differenti (new <record>()) al vector
altrimenti fai "cacao" (tm) dei tuoi dati :-)
q'pla

 
Sмммммммммммммм!!!!! e ora и vivo!!!!!! ehm, se non si era capito ora 
funziona tutto...il 28 и assicurato!
grazie 100000^10000
Fabio

 funziona tutto...il 28 и assicurato!
Sono sempre piu' preoccupato... 
Mamma mia! :(
Ciao!
Roberto
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

> }
if (il codice è veramente così, graffe comprese) {
   Aggiungi un solo elemento al vector...
}
Se peraltro il return v fosse fuori dal ciclo, continui ad usare il medesimo
oggetto, e quello che metti nel vector non è un oggetto ma il riferimento...
Ovvero continui ad aggiungere riferimenti al medesimo oggetto il cui stato 
viene sovrascritto...
-- 
 /\            ___
/___/\__|_|\_|__|___Gian Uberto Lauri_____________________
  //--\ | | \|  |   Integralista GNUslamico  
\/		    e allevatore di bug da competizione

> funziona tutto...il 28 и assicurato!
RB> Sono sempre piu' preoccupato...  Mamma mia! :(
Non disperare, forse ha imparato  dal suo errore (nessuno cade maestro
dal cielo in ogni caso...)


 dal cielo in ogni caso...)
"Nessuno nasce imparato", e siamo d'accordo, pero' la mia preoccupazione era
legata al fatto che potesse sostenere un esame ottenendo 28 nonostante le
evidenti lacune sui concetti di base...
Vabbe'...
Ciao!
Roberto

 writes:
RB> "Nessuno nasce imparato", e siamo d'accordo, pero' la mia
RB> preoccupazione era legata al fatto che potesse sostenere un esame
RB> ottenendo 28 nonostante le evidenti lacune sui concetti di base...
RB> Vabbe'...
Molto probabile che le aspettative vengano deluse, dipende molto dal
tipo di esame e su cosa verte e su come ti hanno spiegato la cosa.
Questo mi par uno dei meno spaventosi tra gli "orrori" che ho visto in
questo newsgroup (ai quali ho sempre risposto con amorevole gentilezza
;) :> ).
Nei  corsi  universitari  capita  che  si  concentrino  di  più  sugli
algoritmi  che  sul linguaggio  usato  per  implementarli, quindi  può
essere che  un docente  abbia preso troppo  alla lettera il  detto che
Java non ha i puntatori (in realtà Java ha solo puntatori(*) :), manca
il  poterci pasticciare  sopra) e  allo  studente è  entrata in  mente
l'idea che la collezione abbia una copia dell'oggetto fisico.
Se ci fai  caso la documentazione di Vector non lo  dice che il Vector
tiene solo  una copia del  riferimento all'oggetto, chi ha  scritto la
documentazione ha ritenuto  ovvia la cosa, come è ovvia per  te e lo è
per me. Ma non lo è per  una persona che sta imparando partendo da 0 e
che non ha ricevuto una chiara spiegazione di come funzionano le cose.
(Lo ammetto,  in un  brutto linguaggio che  fui costretto ad  usare mi
 trovai a  commettere lo stesso errore, tradito  dal comportamento non
 uniforme  del  linguaggio  stesso   -  che  crea  silenziosamente  un
 "oggetto"  wrapper  quando  si   aggiunge  alla  collezione  un  "non
 oggetto").


  oggetto").
<provocazione>
Gli errori si commettono e da essi si impara tanto: piu' che altro
mi preoccupa che il livello della preparazione universita' stia
scendendo cosi' in basso, ma forse il mio e' un campione statisticamente
non significativo, composto da una percentuale di "asinoni" superiore
alla media...
</provocazione> ;)
Ciao!
Roberto

 che non ha ricevuto una chiara spiegazione di come funzionano le cose.
Si, ma sulla documentazione di Vector non troverai mai la spiegazione
di cosa sono gli oggetti e i reference.
La cosa preoccupante è che quelli sono concetti propedeutici, cioè
proprio quello che un corso ti dovrebbe fornire. In realtà è
esattamente quello che il corso non da. Io lo capisco il tizio, ho
letto delle dispense che definirle imprecise è un eufemismo, meglio
definirle oscene.
Quando presi la certificazione programmer osservai come questa
certificazione consista nel conoscere le *basi* del linguaggio in
maniera rigorosa anzichè approssimativa. Decisi di farla proprio
quando mi accorsi che leggendo il testo consigliato mi si apriva un
mondo su queste nozioncine che dopo 10 anni di Java davo per assodate,
ma che scoprivo di sapere in modo approssimativo (adesso non parlo
specificatamente di questo caso, parlo delle nozioni base del
linguaggio in generale).
E' per questo che consiglio a tutti di considerare la certificazione
come punto zero di partenza per un programmatore e non di arrivo.

> gentilezza ;) :> ).
RB> Hai ragione.  Seguo questo newsgroup ormai da molti anni e devo
RB> dire che ormai si vedono troppi messaggi di studenti a pochi
RB> giorni dall'esame che chiedono di farsi fare i compiti! Succede
RB> allora che ogni tanto ti "scappano i cavalli" e va a finire che te
RB> la prendi con il primo che capita, anche se non e' il peggiore,
RB> come in questo caso. ;)
Bene  o male  il codice  da è  partita la  discussione  era degnissimo
codice PHP  (dove peraltro operare  alla Java chiama  disastri, almeno
con la versione 4). Ah, non è il PHP il linguaggio orrido, anche se mi
lascia un po'perplimuto :).
RB> Sara', ma quando ho cominciato a studiare Java queste sono le
RB> prime cose che ho imparato: stanno tutte scritte la' dove si
RB> dovrebbe leggere... ;)
Infatti. Hai studiato  il linguaggio con un libro  che ti insegnava il
linguaggio. Spesso,  anche per venire  incontro agli studenti  che non
sono proprio pieni di soldi, ci si orienta su un libro che copra tutti
gli  aspetti del corso,  col risultato  di avere  una coperta  che non
copre bene nessuna parte.
RB> <provocazione> Gli errori si commettono e da essi si impara tanto:
RB> piu' che altro mi preoccupa che il livello della preparazione
RB> universita' stia scendendo cosi' in basso, ma forse il mio e' un
RB> campione statisticamente non significativo, composto da una
RB> percentuale di "asinoni" superiore alla media...  </provocazione>
Fortunatamente quelli in  gamba che si scrivono i  programmi da soli e
bene ci sono, ma usenet ci vanno per parlare di anime :)
Sfortunatamente le risorse mancano.  Quando mi laureai, nel cluster di
workstation  del  dipartimento  c'erano  110  macchine  circa,  alcune
"personali" di docenti. Gli utenti erano circa 3000...
Vero che adesso una persona a  casa ha tutta la potenza di calcolo che
gli serve... Ma non è detto  che gli strumenti per una buona didattica
gli siano accessibili così come la potenza di calcolo bruta...


 writes:
VV> E' per questo che consiglio a tutti di considerare la
VV> certificazione come punto zero di partenza per un programmatore e
VV> non di arrivo.
Infatti, NON insegna a programmare,  solo come è fatto il linguaggio e
come si comporta.
L'esame di per se è una questione di imparare a memoria, il bello è
quello che ho trovato sul libro su cui mi sono preparato.


 Roberto
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 e' stato detto vverra' scremato o peggio cremato :) dal mercato.
L'interessato non risponde, quindi non possiamo saperlo...
<gran-bastardo-mode>
Forse e' troppo impegnato a studiarsi tutto il programma il giorno
prima dell'esame e non ha piu' tempo di leggere il newsgroup ;)
</gran-bastardo-mode>
Direi che ormai siamo ampiamente OT!
Ciao!
Roberto

ehm....volevo fare una precisazione visto che si parla del mio esame:
l'esame era di Sistemi di elaborazione dell'informazione, praticamente 
tcp/ip e reti in generale con solo qualche accenno ai socket in C... a 
fine corso č richiesto un progetto che solitamente tutti realizzano con 
ASP e vale 3 punti in piů sul voto, ma il prof ha detto che se qualcuno 
avrebbe portato un progetto usando RMI o CORBA avrebbe dato anche 4 
punti.... java non c'entra niente con il corso, e l'ho appena iniziato a 
usare proprio per guadagnarmi il punticino in piů!



 writes:
F> ehm....volevo fare una precisazione visto che si parla del mio
F> esame: l'esame era di Sistemi di elaborazione dell'informazione,
F> praticamente tcp/ip e reti in generale con solo qualche accenno ai
F> socket in C...
A A A A AAAAAAAAAAAARGH!
TCP/IP e solo un accenno ai socket ? ASP ?
AIUTOOOOOOOOOOOOOOOOOOOO!
F> ha detto che se qualcuno avrebbe portato un progetto usando RMI o
F> CORBA avrebbe dato anche 4 punti.... java non c'entra niente con il
F> corso, e l'ho appena iniziato a usare proprio per guadagnarmi il
F> punticino in piů!
Consiglio, leggi  piů attentamente  il manuale e  verifica che  sia un
BUON manuale. L'editore  č di solito un buon  metodo per scegliere, Mc
Graw Hill, Addison Wesley, O'Reilly, oppure la presenza del marchietto
Sun...


 
allora che il mio libro (imparare java, 7.50€) non vada molto bene :-P 
comunque il fatto è che io mi faccio 8 ore al giorno in fabbrica e la 
sera devo studiare, quindi non è che mi dedico chissà quanto a questi 
progetti, giusto il minimo per superare l'esame! A parte questo direi 
che java è un proprio un linguaggio interessante, visto che con un 
libricino da niente e un paio di tutorial sul sito della SUN (oltre alle 
vostre dritte!)anche uno come me in una settimana è riuscito a creare 
un'applicazione decente! Penso che quando potrò comincerò a dedicarmici 
in modo più decente (magari dovrò fare altri progettini!)
Grazie a tutti e ciao!

 
il return era effettivamente fuori dalle graffe, però adesso vorrei 
capire il perchè! come mai non posso riutilizzare lo stesso oggetto? e 
se effettivamente aggiungessi sempre riferimenti a quell'unico oggetto, 
perchè la dimensione del vector non cresce? In teoria non dovrei allora 
avere un vector pieno di oggetti tutti uguali all'ultimo inserito? 
Invece io me ritrovavo solo uno e uguale al primo inserito...puoi 
spiegarmi meglio?

> 
F> allora che il mio libro (imparare java, 7.50€) non vada molto bene :-P 
Magari è  buono. Lo dice chiaro e  tondo che in Java  si lavora sempre
avendo nelle variabili riferimenti ad oggetti e non gli oggetti ?
F> comunque il fatto è che io mi faccio 8 ore al giorno in fabbrica e
F> la sera devo studiare, quindi non è che mi dedico chissà quanto a
F> questi progetti, giusto il minimo per superare l'esame!
Non solo comprensibile ma lodevole.
F> A parte
F> questo direi che java è un proprio un linguaggio interessante,
Lo è.  La persona  che lo ha  progettato ha  pensato bene di  non fare
nulla di nuovo, solo una collezione di ottime idee.


 writes:
F> però adesso vorrei
F> capire il perchè! come mai non posso riutilizzare lo stesso
F> oggetto?
Pensa  agli oggetti  come  a contenitori,  e  nel Vector  tu metti  un
biglietto  con   un  qualcosa  che  ti  permette   di  individuare  il
contenitore.
Nel tuo ciclo il biglietto è sempre uguale, quindi qualsiasi biglietto
si prende dal Vector si casca sempre sullo stesso contenitore del quale
continui a cambiare contenuto.
F> e se effettivamente aggiungessi sempre riferimenti a
F> quell'unico oggetto, perchè la dimensione del vector non cresce? In
F> teoria non dovrei allora avere un vector pieno di oggetti tutti
F> uguali all'ultimo inserito? Invece io me ritrovavo solo uno e
F> uguale al primo inserito...puoi spiegarmi meglio?
La  tua teoria  è corretta.  C'è una  sola spiegazione  sensata  se il
codice è quello, è che rs.next() ritorni true una sola volta.
Eseguita la  query (quella del codice,  non una riscritta  a mano) sul
DB? Che ritorna ?


 
mi ritornava un SQLException che diceva No data found... infatti 
all'inizio ero convinto che l'errore fosse nella connesione al database! 
adesso ho capito, grazie mille per l'aiuto e i consigli!