View Full Version : Aiuto per JSP+SQL Urgente !!!
Web Wolf
29-06-2003, 23:32
Ho fatto un programmino JSP per estrarre dei dati da un database SQL, ma non riesco a capire il perché, nel pezzo di codice sotto, se non metto l'istruzione if visualizzo tutto correttamente, mentre se la aggiungo (come controllo nel caso in cui il database non avesse alcuna voce di quelle richieste) ottengo la pagina bianca (senza neanche le scritte in html).
Non mi riescie proprio di capire.
Non é che c'é qualche esperto che mi saprebbe illuminare ? :muro:
Grazie
Ciao
if (rs.next()) {while (rs.next()) {
ris++;
String datacom=rs.getString(1);
String titolo=rs.getString(2);
String code=rs.getString(3);
String genere=rs.getString(4);
String datapro=rs.getString(5);
String autore=rs.getString(6);
String casa=rs.getString(7);
%>
<p><input type="checkbox" name=<%= ris%> value=<%= ris %>>
<font color="white">
Titolo:&nbsp&nbsp&nbsp<%= titolo %>
&nbsp&nbsp&nbspAutore:&nbsp&nbsp&nbsp<%= autore %>
&nbsp&nbsp&nbspCodice:&nbsp&nbsp&nbsp<%= code %></p>
</font>
<%
} }
lombardp
30-06-2003, 07:52
Originally posted by "Web Wolf"
Ho fatto un programmino JSP per estrarre dei dati da un database SQL, ma non riesco a capire il perché, nel pezzo di codice sotto, se non metto l'istruzione if visualizzo tutto correttamente, mentre se la aggiungo (come controllo nel caso in cui il database non avesse alcuna voce di quelle richieste) ottengo la pagina bianca (senza neanche le scritte in html).
Togli IF. Non serve. L'istruzione WHILE (RS.NEXT()) fa già quello che tu intendevi fargli fare con l'IF. Se dalla query non esce niente, il corpo del WHILE non viene eseguito.
Originally posted by "lombardp"
Togli IF. Non serve. L'istruzione WHILE (RS.NEXT()) fa già quello che tu intendevi fargli fare con l'IF. Se dalla query non esce niente, il corpo del WHILE non viene eseguito.
esatto.
inoltre se il result set avesse una sola riga non otterresti nulla poche' la prima chiamata a next() fa spostare il cursore avanti prima di entrare nel while .
caro web wolf, sono qui per salvarti ancora. prima di fare qualsiasi operazione col resultset devi fare sempre un rs.next() altrimenti non va niente... :D
Web Wolf
30-06-2003, 09:44
Innanzitutto grazie ;) , poi ci tenevo a precisare che il blocco if nel codice completo contiene anche un else:
il discorso é: se rs.next() é vera, allora esegui il ciclo while finché é vera, altrimenti esegui l'else (che va ad una pagina di errore).
Originally posted by "Web Wolf"
il discorso é: se rs.next() é vera, allora esegui il ciclo while finché é vera, altrimenti esegui l'else (che va ad una pagina di errore).
se proprio ti serve tenere l'if cambia il while con un do...while, in modo che non chiami due volte next()[/code]
Web Wolf
30-06-2003, 11:46
scusa l'ignoranza, ma anche il blocco do...while non richiede di mettere il rs.next() anche se alla fine ? Certo, una volta eseguirebbe il ciclo, ma forse non lo farebbe per le volte successive :confused:
Originally posted by "Web Wolf"
scusa l'ignoranza, ma anche il blocco do...while non richiede di mettere il rs.next() anche se alla fine ? Certo, una volta eseguirebbe il ciclo, ma forse non lo farebbe per le volte successive :confused:
la prima volta lo esegue perche' entra nell'if e poi continua a eseguire quello che c'e' tra do e while finche' la condizione non diventa falsa, ovvero finche non son finite le righe del resultset
Web Wolf
30-06-2003, 22:53
L'ultimissima domanda :D , secondo te come mai quando chiamo una nuova pagina JSP tramite forward posso mettere tranquillamente un indirizzo relativo tipo <jsp:forward page="mypage.jsp"/> mentre quando metto una immagine devo mettere l'indirizzo assoluto del mio PC ?
Es. C://Programmi//jakarta-tomcat-3.3.1a//webapps//root//immagini//sfondo5.jpg
Ho provato a mettere sia ./immagini/sfondo5.jpg
oppure /immagini/sfondo5.jpg
oppure localhost/sfondo5.jpg
ma le immagini non mi vengono caricate
Che cosa potrebbe mancare ?
lombardp
01-07-2003, 07:31
Originally posted by "Web Wolf"
L'ultimissima domanda :D , secondo te come mai quando chiamo una nuova pagina JSP tramite forward posso mettere tranquillamente un indirizzo relativo tipo <jsp:forward page="mypage.jsp"/> mentre quando metto una immagine devo mettere l'indirizzo assoluto del mio PC ?
Es. C://Programmi//jakarta-tomcat-3.3.1a//webapps//root//immagini//sfondo5.jpg
Ho provato a mettere sia ./immagini/sfondo5.jpg
oppure /immagini/sfondo5.jpg
oppure localhost/sfondo5.jpg
ma le immagini non mi vengono caricate
Che cosa potrebbe mancare ?
DEVE per forza funzionare anche con i link relativi, probabilmente c'è un errore nel path. Eppure i primi due che hai provato dovrebbero funzionare.
Web Wolf
01-07-2003, 12:27
Ho risolto grazie, il problema era dovuto al fatto che quando scrivevo la path dell'indirizzo la scrivevo in lettere minuscole, poiché sapevo Windows essere non case sensitive, ma il protocollo http invece non lo é, quindi
immagini/myimage.jpg non funzionava mentre
Immagini/myimage.jpg invece si, poiché la cartella iniziava con la minuscola
Grazie comunque
Ciao
PS: potresti indicarmi degli indirizzi di siti da cui scaricare GIF e altro ?
io conosco già html.it e Mr. Webmaster, ma cercavo delle GIF
diverse, per esempio orientate ai messaggi di errore.
PS2: (non é la console :D ) Come si fa in SQL quando si fa una SELECT a selezionare tutti i record il cui nome non si inserisce completamente ?
mi spiego se io voglio sapere tutti i dischi il cui nome inizia per claudio, non posso mettere select from dischi where nome=claudio*
vorrei ottenere qualcosa come claudio baglioni, claudio lippi ecc. :D
in altri termini, l'asterisco sul nome non me lo prende, come posso esprimerlo ?
lombardp
01-07-2003, 12:55
SELECT * FROM dischi WHERE nome LIKE "claudio%"
Visto che stai utilizzando il Java, puoi usare il metodo Tokenizer(), non so bene come si utilizzi, però ti é utile, perché ti divide la stringa in varie sottostringhe "Claudio Lippi" in "Claudio" e "Lippi".
guardati l'Help che ti sarà sicuramente molto utile.
P.S.
Puoi sempre inserire un'altra colonna nella tua Tabella nella quale inserisci i Cognomi, vedi che è sicuramente più semplice ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.