Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    255

    stampare risultato query

    Ragazzi, ma questa query in questo metodo non da errori in compilazione,ma sicuro che sia corretta?
    classe.java
    codice:
    public boolean stampaArticolo() {
            verificaArticolo=false;
            try {                            
                ResultSet r = s.executeQuery("SELECT titolo, oggettoA, data_inserimento FROM Articolo ORDER BY (id) DESC LIMIT 1");
                if(r.next()) {
                    id = r.getString("id")
                    titolo = r.getString("titolo");
                    oggettoA = r.getString("oggettoA");
                    data_inserimento = r.getString("data_inserimento");
                    verificaArticolo=true; //se l'utente esiste nel database
                }
            } catch(Exception e) {
                msgErrore=e.getMessage();
            }
            return verificaArticolo;
        }
    Siccome ho poca esperienza con jsp come posso stampare il risultato di questa query in un
    file.jsp

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    255
    ho modificato facendo tutto nella pagina.jsp ma ugualmente non mi stampa nulla

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="IT">
    <head>
    <title>Stampa query</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" type="text/css" href="stili.css">
    <%@ page language="java"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="java.lang.*"%>
    <%@ page import="java.util.*"%>
    </head>
    <body bgcolor="#FFFFFF" >
    
    <% 
    	String DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
    	String DB_Url = ("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:/Programmi/Apache Software Foundation/Tomcat 5.5/webapps/sito/database.mdb");
    	try
    	{
    		Class.forName(DRIVER);
    	}
    	catch(ClassNotFoundException e)
    	{
    		System.out.println(e.toString());	
    		System.out.println("File non trovato");
    		System.exit(1);
    	}
    	try
    	{
    		Connection conn= DriverManager.getConnection(DB_Url);
    		Statement stmt = conn.createStatement();
    		String query="";
    		String Tot = "";
    		query="SELECT titolo, oggettoA, data_inserimento FROM Articolo ORDER BY (id) DESC";
    		ResultSet r = stmt.executeQuery(query);
    		if(r.next())
    		{
    			
            	//r.getString("id");
                Tot = r.getString("titolo");
                //r.getString("oggettoA");
                //r.getString("data_inserimento");
                out.println("Titolo: "+Tot+"
    ");
    		}	
    		 
    	conn.close();
    	} 
    	catch(SQLException ex) 
    	{
    		System.err.println("SQLException: " + ex.getMessage()) ;
    	}
    	%>	
        
        
    </body>
    </html>

  3. #3
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Da una stringa di query non avrai certo errori di compilazione: il compilatore Java non te la va certo a validare. Potresti tranquillamente passare come parametro a executeQuery() la classica "Hello world!" e ti accorgerai dell'errore solo quando (e se) la eseguirai a runtime.

    Per stampare il valore di una variabile in una pagina JSP devi tipicamente includerla negli appositi tags, come in
    <%= variabile %>
    Come farlo nel progetto che stai realizzando... beh, servono parecchie altre informazioni (e codice) relative al contesto in cui ti trovi a lavorare

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    255
    scusa,ma non ho capito...il codice che ho postato, della pagina.jsp è completo non mi da errori, ma non stampa nulla in esecuzione.

  5. #5
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Sì, ci siamo accavallati con i post e non avevo visto il codice che avevi inviato.
    Eseguendo

    codice:
    if (r.next())
    stai dicendo di eseguire il codice seguente SOLO sulla prima riga dei dati ritornati (e solo se questa riga esiste, naturalmente), non considerando quindi tutte le successive. E' questo ciò che intendi fare?
    E poi, sei sicuro che la query estragga qualcosa?

    Per stampare sulla pagina di ritorno, comunque, invece del macchinoso out.println puoi fare così:

    codice:
    . . .
      Tot = r.getString("titolo");
      //r.getString("oggettoA");
      //r.getString("data_inserimento");
    %>
    Titolo: <%= Tot %>
    
    <%
    }	
    		 
    conn.close();
    . . .
    Cosa usi a fare le JSP, se no?

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    255
    Ciao Desa, sono riusciuto a stampare il risultato a video...grazie
    però il problema principale era la query che non andava bene...
    "SELECT titolo, oggettoA, data_inserimento, articolo FROM Articolo ORDER BY titolo DESC LIMIT 2";
    se aggiungo LIMIT 2 non stampa nulla si vede che non lo riconosce...come posso in sql stampare solo gli ultimi 2 articoli inseriti ossia con id maggiore

    ps. il campo l'articolo contiene 255 caratteri è abbastanza lungo,ma se volessi vederne solo i primi 100 caratteri di cui gli ultimi 3 caratteri dovrebbero essere "..."
    codice:
    try
    	{
    		Connection conn= DriverManager.getConnection(DB_Url);
    		Statement stmt = conn.createStatement();
    		String query="";
    		String Tot = "";
    		String Art = "";
    query="SELECT titolo, oggettoA, data_inserimento FROM Articolo ORDER BY titolo DESC";
    		ResultSet r = stmt.executeQuery(query);
    		while (r.next())
    		{	
    		Tot = r.getString("titolo");
                    Art = r.getString("articolo");
      		%>
    		Titolo: <%= Tot %>
    
                    articolo: <%= Art %>
     
    		<%
    		}			 	 
    	conn.close();
    	}

  7. #7
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Non posso dirmi un esperto SQL... ma ti suggerisco di controllare la sintassi della SELECT relativa al tipo di database a cui ti stai connettendo (Access, a quanto dichiari): dando un'occhiata online ho trovato questo link...
    http://www.dotnethell.it/forum/messa...ThreadID=14050
    Ma ti ripeto, controlla tu la documentazione.

    In merito alla stampa dell'"articolo": sei sicuro che la query estragga anche questo campo?
    Per stampare solo i primi 100 caratteri è sufficiente (dopo aver verificato se la stringa eccede effettivamente questa soglia) eseguire una substring(0, 100) e concatenare "..." a quanto restituito

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    255
    in merito a stampa articolo, quando ti quotavo la query non l'avevo ancora messo nel codice...
    la query è questa:
    codice:
    query="SELECT titolo, oggettoA, data_inserimento, articolo FROM Articolo ORDER BY titolo DESC";
    grazie mille ora provo con substring e do un occhiata a quel thread....

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    255
    ok...gracias risolto tutto....
    posso approffittarne ti chiedo un ultima cosa...
    avendo usato substring:
    meta = Art.substring(0, 40);
    ora vorrei rendere il campo Articolo un link...infatti utilizzando substring, visualizzo solo una parte...cliccandoci sopra visualizzo tutto il testo

  10. #10
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Questo è argomento da forum HTML/Javascript: a termini di regolamento, ogni richiesta su queste tecnologie andrebbe postata là.

    Se si tratta solo di questo... quando vai a stampare l'articolo nella pagina potresti fare una cosa del genere:

    codice:
    ';"><%= meta %>
    Come sempre, attenzione ai caratteri "a rischio" come i singoli e i doppi apici e le parentesi angolari (il "maggiore" e il "minore", per intenderci)

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.