ho provato con i prepared statement è il risultato è sempre lo stesso:
exception
javax.servlet.ServletException: You have an error in your SQL syntax near '('2008-08-09')' at line 1
org.apache.jasper.runtime.PageContextImpl.doHandle PageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePa geException(PageContextImpl.java:758)
org.apache.jsp.serverfuso2_jsp._jspService(serverf uso2_jsp.java:113)
org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
root cause
java.sql.SQLException: You have an error in your SQL syntax near '('2008-08-09')' at line 1
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:2921)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:15 70)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java :1665)
com.mysql.jdbc.Connection.execSQL(Connection.java: 2978)
com.mysql.jdbc.Connection.execSQL(Connection.java: 2902)
com.mysql.jdbc.PreparedStatement.executeInternal(P reparedStatement.java:930)
com.mysql.jdbc.PreparedStatement.executeQuery(Prep aredStatement.java:1024)
org.apache.jsp.serverfuso2_jsp._jspService(serverf uso2_jsp.java:95)
org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
ecco il codice utilizzato:
<%
Calendar dataodierna = Calendar.getInstance();
// rilevo data
int mese_int = dataodierna.get(java.util.Calendar.MONTH);
int anno_int = dataodierna.get(java.util.Calendar.YEAR);
int giorno_int = dataodierna.get(java.util.Calendar.DAY_OF_MONTH);
String mese = new String(""+mese_int);
String anno = new String(""+anno_int);
String giorno = new String(""+giorno_int);
// Carico il driver.
Class.forName(DRIVER);
Connection connessione =DriverManager.getConnection(DB_URL);
int differenza=anno_int-1971;
//data odierna
java.util.Date oggi = new java.util.Date();
long millisecondi_attuali =oggi.getTime();
java.sql.Date dataoggi = new java.sql.Date(millisecondi_attuali);
String email="";
String idopera="";
//----------------
PreparedStatement pstmt = connessione.prepareStatement("SELECT email FROM `prestito vhs` WHERE data.before(?)");
pstmt.setDate(1,dataoggi,dataodierna);
ResultSet rs = pstmt.executeQuery();
// rs will be scrollable, will not show changes made by others,
// and will be updatable
while (rs.next()) { email= rs.getString(1);
}
%>