日期:2014-05-18  浏览次数:20702 次

JSP更新数据库出错,错在哪?
配置:tomcat   5.0.23,sqlserver2000,win2000
程序如下:
1、 <%@   page   contentType= "text/html;   charset=utf-8 "   language= "java "   import= "java.sql.* "%>
2、 <%@   page   import= "com.Condata "%>
3、 <%@   page   import= "java.util.Date "%>
4、 <%Condata   con=new   Condata();
5、Connection   conn=con.getConnection();
6、String   gxid= " ",gxname= " ";
7、int   ibt1=Integer.parseInt(request.getParameter( "ibt1 "));//在40至100间
8、int   ret=0;
9、for(int   ibt=1;ibt <ibt1;ibt++){
10、gxid=request.getParameter( "gxid "+ibt);
11、gxname=request.getParameter( "gxname "+ibt);
12、ret=0;
13、ret=con.executeUpdate( "update   "+session.getAttribute( "company ")+ "_rsjijian   set   gxname= ' "+gxname+ " '     where   rtrim(gxid)= ' "+gxid+ " ' ");//符合条件的记录约有10几条
14、if(ret==0){
15、out.println( " <script   Language= 'javascript '> alert( '(2)数据有误!修改失败,请重试 ');window.history.back(-1); </script> ");
16、return;
17、}
18、}
19、。。。//略

错误为当循环ibt到某个数时(每次都不同),就无法更新。
单个的update试过无问题。
请各位给找找原因。谢谢

------解决方案--------------------
使用PreparedStatment可循环更新。