creating sql statement with formula in JSP fails ... why?

Hi there,

So, in a JSP form I connect to the db and then I have a query (which runs in the db) that has a very simple formula in it (see code below). When I test the JSP it says 'success' 5 out of 6 times but the other 1 time it has the error below. I appreciate any help!!!

<%@ page import="java.sql.*"%>

<%

Connection connection =null;

try{

Class.forName("org.postgresql.Driver");

connection = DriverManager.getConnection("jdbc:postgresql:dbname","postgres","dbpassword");

Statement stmt7 = connection.createStatement();

String sql7="update t_test_measurement_results set tmr06=tmr01/t_test_setup_results.tsr02 WHERE t_test_measurement_results.tmr_tsrid=t_test_setup_results.tsr_id AND t_test_measurement_results.tmr_tsrid='1' AND t_test_setup_results.tsr_tpid='1';";

stmt7.executeUpdate(sql7);

String sql6="update t_test_setup_results set tsr07=sum t_test_measurement_results.tmr07 WHERE t_test_measurement_results.tmr_tsrid= t_test_setup_results.tsr_id AND tsr_id="'+tsid+'";" ;

stmt6.executeUpdate(sql6);

%>

<result>success</result>

<%

}

catch (Exception e){

e.printStackTrace();

%>

<result>failure</result>

<%

}finally{

try{

connection.close();

}catch (SQLException e){

}

}

%>

Here is the intermittant error:

An error occurred at line: 4 in the jsp file: /my-apps/Peak/Jsp/formulas.jsp

Generated servlet error:

Invalid character constant

org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)

org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)

org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:389)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)

javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

NOTE: there wasn't much more than this in the logs:

2005-10-25 09:46:49,800 [http-8080-Processor22] ERROR StandardWrapper[/lps:jsp] - Servlet.service() for servlet jsp threw exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 4 in the jsp file: /my-apps/Peak/Jsp/formulas.jsp

Generated servlet error:

Invalid character constant

at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)

at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)

at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:389)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)

at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:731)

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)

at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

at java.lang.Thread.run(Thread.java:595)

[5765 byte] By [123_smilea] at [2007-10-2 3:24:56]
# 1
See this code:String sql6="update t_test_setup_results set tsr07=sum t_test_measurement_results.tmr07 WHERE t_test_measurement_results.tmr_tsrid= t_test_setup_results.tsr_id AND tsr_id="'+tsid+'";" ;around the + sign.just swap " and '
dnamiota at 2007-7-15 22:34:23 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 2
WOW, I can't beleive I missed that :-) Thanks so much!!!
123_smilea at 2007-7-15 22:34:23 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...