Salve ragazzi,
devo creare una pagina jsp che effettui delle query su una tabella chiamta "persona".
se eseguo una query del genere: SELECT * FROM PERSONA WHERE codice>1 e quindi una query che mi deve restituire tutti i campi di ogni riga della tabella non ci sono problemi se invece eseguo una query del tipo: SELECT NOME FROM PERSONA WHERE CODICE>1 ottengo l'errore Column not found. DOve sbaglio?
Codice della jsp:codice:org.apache.jasper.JasperException: An exception occurred processing JSP page /query.jsp at line 62 59: 60: while(rs.next()) 61: { 62: if(rs!=null) out.println( rs.getInt("codice") ); 63: if(rs!=null) out.println( rs.getString("nome") ); 64: if(rs!=null) out.println( rs.getString("cognome") ); 65: if(rs!=null) out.println( rs.getInt("eta") ); Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:511) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:407) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) root cause javax.servlet.ServletException: java.sql.SQLException: Column not found org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:898) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:827) org.apache.jsp.query_jsp._jspService(query_jsp.java:144) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:376) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) root cause java.sql.SQLException: Column not found sun.jdbc.odbc.JdbcOdbcResultSet.findColumn(Unknown Source) sun.jdbc.odbc.JdbcOdbcResultSet.getInt(Unknown Source) org.apache.jsp.query_jsp._jspService(query_jsp.java:116) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:376) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
codice:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Tabella Persona - Risultato Query</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="index.css"> </head> <body> <div id="container"> <%@page import="java.sql.*"%> <% Connection connection;// sfrutto la composizione String DbDriver;// La stringa contenente il nome del driver String DbURL;// La stringa contenente la URL del DB String username; // UserID di connessione String password; // Password associata alla username connection = null; DbDriver = "sun.jdbc.odbc.JdbcOdbcDriver"; DbURL = "jdbc:odbc:oracleODBC"; username = "amministratore"; password = "tiger"; // Carica il Driver del DBMS Class.forName(DbDriver); // Apertura connessione connection = DriverManager.getConnection(DbURL, username, password); //Prelevo i dati dal form String select=new String(request.getParameter("select")); String from=new String(request.getParameter("from")); String where=new String(request.getParameter("where")); String having=new String(request.getParameter("having")); String testo=new String(request.getParameter("testo")); //Esecuzione istruzione SQL Statement st = connection.createStatement(); //PreparedStatement ps = connection.prepareStatement(); //String SQL = "SELECT * FROM persona order by codice"; String SQL = "SELECT "+select+" FROM "+from+" WHERE "+where+";"; out.println(SQL); ResultSet rs = st.executeQuery(SQL); //Elaborazione risultati while(rs.next()) { if(rs!=null) out.println( rs.getInt("codice") ); if(rs!=null) out.println( rs.getString("nome") ); if(rs!=null) out.println( rs.getString("cognome") ); if(rs!=null) out.println( rs.getInt("eta") ); if(rs!=null) out.println( rs.getString("citta") ); if(rs!=null) out.println( rs.getString("nazione") ); out.println(" "); } //chiude la connessione connection.close(); %> </div> </body> </html>

Rispondi quotando


