源代码如下:
public boolean LAPRTCPInsert(Laprtcr prtc) throws Exception {
String sql =
"insert into laprtcp(PRNO,PRTYPE,"
+ "PRDCTP,PRDCCD,PRUMAN,PRTTL1,PRSEX,PRTEL,PREML,PRLMAN,PRSNYY,PRSNMM,PRSNDD,PRFILE,PRYY1,PRMM1,PRDD1,PRYY2,"
+ "PRMM2,PRDD2,PRPRC,PRBYWT,PRSVC1,PRSVC2,PRSVC3,PRSVC4,PRSVC5,PRSVC6,PROPR1,PROPY1,PROPM1,PROPD1,PROPT1,"
+"PRDOC,PRSTTS,PREDYY,PREDMM,PREDDD,PRMEMO)"
+" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = ds.getConnection();
pstmt = conn.prepareStatement(sql);
System.out.println(sql); pstmt.setInt(1,prtc.getPrno());//流水号
pstmt.setString(2,prtc.getPrtype());//
pstmt.setString(3,prtc.getPrdctp());//
pstmt.setString(4,prtc.getPrdccd());//
pstmt.setString(5,prtc.getPruman());//
pstmt.setString(6,prtc.getPrttl1());
pstmt.setString(7,prtc.getPrsex());
pstmt.setString(8,prtc.getPrtel());//
pstmt.setString(9,prtc.getPreml());//
pstmt.setString(10,prtc.getPrlman());//
pstmt.setInt(11,prtc.getPrsnyy());
pstmt.setInt(12,prtc.getPrsnmm());
pstmt.setInt(13,prtc.getPrsndd());
pstmt.setString(14,prtc.getPrfile());
pstmt.setInt(15,prtc.getPryy1());//
pstmt.setInt(16,prtc.getPrmm1());//
pstmt.setInt(17,prtc.getPrdd1());//
pstmt.setInt(18,prtc.getPryy2());//
pstmt.setInt(19,prtc.getPrmm2());//
pstmt.setInt(20,prtc.getPrdd2());//
pstmt.setDouble(21,prtc.getPrprc());//
pstmt.setString(22,prtc.getPrbywt());// pstmt.setString(23,prtc.getPrsvc1());//
pstmt.setString(24,prtc.getPrsvc1());//
pstmt.setString(25,prtc.getPrsvc1());//
pstmt.setString(26,prtc.getPrsvc1());//
pstmt.setString(27,prtc.getPrsvc1());//
pstmt.setString(28,prtc.getPrsvc1());// pstmt.setString(29,prtc.getPropr1());//
pstmt.setInt(30,prtc.getPropy1());//
pstmt.setInt(31,prtc.getPropm1());//
pstmt.setInt(32,prtc.getPropd1());//
pstmt.setInt(33,prtc.getPropt1());//
pstmt.setString(34,prtc.getPrdoc());//
pstmt.setString(35,prtc.getPrstts());//
pstmt.setInt(36,prtc.getPredyy());
pstmt.setInt(37,prtc.getPredmm());
pstmt.setInt(38,prtc.getPreddd());
pstmt.setString(39,prtc.getPrmemo());//
pstmt.executeUpdate();
return true;
} catch (Exception ex) {
ex.printStackTrace();
throw ex;
} finally {
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
}
}
public boolean LAPRTCPInsert(Laprtcr prtc) throws Exception {
String sql =
"insert into laprtcp(PRNO,PRTYPE,"
+ "PRDCTP,PRDCCD,PRUMAN,PRTTL1,PRSEX,PRTEL,PREML,PRLMAN,PRSNYY,PRSNMM,PRSNDD,PRFILE,PRYY1,PRMM1,PRDD1,PRYY2,"
+ "PRMM2,PRDD2,PRPRC,PRBYWT,PRSVC1,PRSVC2,PRSVC3,PRSVC4,PRSVC5,PRSVC6,PROPR1,PROPY1,PROPM1,PROPD1,PROPT1,"
+"PRDOC,PRSTTS,PREDYY,PREDMM,PREDDD,PRMEMO)"
+" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = ds.getConnection();
pstmt = conn.prepareStatement(sql);
System.out.println(sql); pstmt.setInt(1,prtc.getPrno());//流水号
pstmt.setString(2,prtc.getPrtype());//
pstmt.setString(3,prtc.getPrdctp());//
pstmt.setString(4,prtc.getPrdccd());//
pstmt.setString(5,prtc.getPruman());//
pstmt.setString(6,prtc.getPrttl1());
pstmt.setString(7,prtc.getPrsex());
pstmt.setString(8,prtc.getPrtel());//
pstmt.setString(9,prtc.getPreml());//
pstmt.setString(10,prtc.getPrlman());//
pstmt.setInt(11,prtc.getPrsnyy());
pstmt.setInt(12,prtc.getPrsnmm());
pstmt.setInt(13,prtc.getPrsndd());
pstmt.setString(14,prtc.getPrfile());
pstmt.setInt(15,prtc.getPryy1());//
pstmt.setInt(16,prtc.getPrmm1());//
pstmt.setInt(17,prtc.getPrdd1());//
pstmt.setInt(18,prtc.getPryy2());//
pstmt.setInt(19,prtc.getPrmm2());//
pstmt.setInt(20,prtc.getPrdd2());//
pstmt.setDouble(21,prtc.getPrprc());//
pstmt.setString(22,prtc.getPrbywt());// pstmt.setString(23,prtc.getPrsvc1());//
pstmt.setString(24,prtc.getPrsvc1());//
pstmt.setString(25,prtc.getPrsvc1());//
pstmt.setString(26,prtc.getPrsvc1());//
pstmt.setString(27,prtc.getPrsvc1());//
pstmt.setString(28,prtc.getPrsvc1());// pstmt.setString(29,prtc.getPropr1());//
pstmt.setInt(30,prtc.getPropy1());//
pstmt.setInt(31,prtc.getPropm1());//
pstmt.setInt(32,prtc.getPropd1());//
pstmt.setInt(33,prtc.getPropt1());//
pstmt.setString(34,prtc.getPrdoc());//
pstmt.setString(35,prtc.getPrstts());//
pstmt.setInt(36,prtc.getPredyy());
pstmt.setInt(37,prtc.getPredmm());
pstmt.setInt(38,prtc.getPreddd());
pstmt.setString(39,prtc.getPrmemo());//
pstmt.executeUpdate();
return true;
} catch (Exception ex) {
ex.printStackTrace();
throw ex;
} finally {
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
}
}
真是奇怪,我定义了39个参数啊?
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at java.util.ArrayList.RangeCheck(ArrayList.java(Compiled Code))
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at java.util.ArrayList.set(ArrayList.java:343)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.countParameter(WSJdbcPreparedStatement.java:355)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.setInt(WSJdbcPreparedStatement.java:1005)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at com.labor.unit.UnitBean.LAPRTCPInsert(UnitBean.java:841)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at com.labor.unit.EJSRemoteStatelessUnit_5a24ebaa.LAPRTCPInsert(EJSRemoteStatelessUnit_5a24ebaa.java:475)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at com.labor.unit._Unit_Stub.LAPRTCPInsert(_Unit_Stub.java:864)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at org.apache.jsp._Protocol1._jspService(_Protocol1.java:187)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.jsp.runtime.HttpJspBase.service(HttpJspBase.java:89)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.jsp.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:344)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.serviceJspFile(JspServlet.java:598)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.service(JspServlet.java:696)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
[05-7-26 12:53:36:484 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:258)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:76)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.mcm.util.tools.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:119)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:132)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:71)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:863)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:491)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:173)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:79)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:199)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:331)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:432)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:343)
[05-7-26 12:53:36:500 CST] 2b65befc SystemErr R at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
试试将
prtc.getPropt1()
的值打印出来, 看看有没有值
再试试
pstmt.setInt(33,0);
看看有没有效。
pstmt.setInt(33,prtc.getPropt1());//
pstmt.setString(34,prtc.getPrdoc());//
pstmt.setString(35,prtc.getPrstts());//
pstmt.setInt(36,prtc.getPredyy());
pstmt.setInt(37,prtc.getPredmm());
pstmt.setInt(38,prtc.getPreddd());
pstmt.setInt(2,prtc.getPropt1());//
pstmt.setString(3,prtc.getPrdoc());//
pstmt.setString(4,prtc.getPrstts());//
pstmt.setInt(5,prtc.getPredyy());
pstmt.setInt(6,prtc.getPredmm());
pstmt.setInt(7,prtc.getPreddd());
我重新WSAD之后,再运行,成功!然后,继续执行此方法,又报同样的错误!怪......
然后看看是否是jvm内存的问题.
刚才看了一下上一次的版本,在该版本中此方法确实是只有32个参数的,怎么会有这样的问题呢?开发环境:WSAD5.0To: laughsmile(海边的星空)
首先看看是否是插入特定字段的问题.
然后看看是否是jvm内存的问题.
请问一下怎么看?
知道什么问题了WSAD5的bug,最多支持32个字段参数,必须打补丁才行狂晕啊...................................