Reputation: 2097
I have these in a jsp file. But these values are not updated in the mysql table. May be it is not commiting. How can i solve this ?
String passc1 = request.getParameter("passc1");
String accid = request.getParameter("accid");
int i = 0;
String sql =
" update customertb "
+ " set passwd = ?"
+ " where acc_no = ?;";
try {
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, passc1);
ps.setString(2, accid);
i = ps.executeUpdate();
} catch (Exception e) {
// do something with Exception here. Maybe just throw it up again
} finally {
con.close();
}
Stacktrace
Apr 01, 2012 11:29:02 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [jsp] in context with path [] threw exception [An exception occurred processing JSP page /changepwd_done.jsp at line 81
e.printStackTrace();
} finally {
//con.close();
con.commit();
}
Stacktrace:] with root cause java.sql.SQLException: Can't call commit when autocommit=true at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:933) at com.mysql.jdbc.ConnectionImpl.commit(ConnectionImpl.java:1635) at org.apache.jsp.changepwd_005fdone_jsp._jspService(changepwd_005fdone_jsp.java:160) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722)
Upvotes: 1
Views: 2472
Reputation: 5202
Catch SQLException and check the console messages:
[...]
try {
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, passc1);
ps.setString(2, accid);
i = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
Upvotes: 4