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试过无问题。 
 请各位给找找原因。谢谢
------解决方案--------------------你在Update之后,为什么不提交,有没有可能是因为数据库事务造成的。再更新同一个表的时候,有没有可能执行的SQL语句锁定同一行?但是没有提交,形成死锁?
------解决方案--------------------这个问题和列表更新问题类似,看看你的列表中的表单: 
 gxidi和gxnamei的命名格式是否正确   
 实在不行的话,在每次执行update之前 
 打印:update  "+session.getAttribute( "company ")+ "_rsjijian set gxname= ' "+gxname+ " '  where rtrim(gxid)= ' "+gxid+ " ' " 
 然后把打印出来的字符串逐个在数据库中执行,看看是否都能执行成功
------解决方案--------------------你提交过来的条件会不会含有单引号? 
 set gxname= ' "+gxname+ " '  where rtrim(gxid)= ' "+gxid+ " ' "); 
 改成下边吧: 
 set gxname= ' "+gxname.replaceAll( " ' ", " ' ' ")+ " '  where rtrim(gxid)= ' "+gxid.replaceAll( " ' ", " ' ' ")+ " ' "); 
 最好是用PreparedStatement   
 另外,if(ret==0){满足条件的时候,最后break吧,return会不会有问题?