为什么一条sql语句在java中执行的时候 页面一直卡住,在数据库中却很快执行

SQL 语句 DB2数据库:
update table1 set col1=‘ABCD’ where id=15 or id=16;
Action中的源码
/**
* 删除所有用户
* @return
* @throws CMSException
*/
public String delAllUser() throws CMSException{
RecruitPostService recruitPostService=(RecruitPostService)ApplicationContext.getBean("recruitPostService");
//根据穿进去的条件查找
List list=recruitPostService.getUserIdsByChoices(recruitUser);
System.out.println("打印出获得用户的数量:"+list.size());
String ids="";
if(list!=null&&list.size()>0){
for (int i = 0; i < list.size(); i++) {
//把用户的ID一一获取,用逗号分开
Map map=(Map)list.get(i);
String temp=map.get("RESUMEID").toString();
ids+=temp+",";
}
//去掉最后一个逗号
if (ids.endsWith(",")) {
ids=ids.substring(0,ids.length()-1);
}
//打印出ID
System.out.println(ids);
//根据ID删除用户
recruitPostService.deleteUsersByIds(ids);
}
return SUCCESS;
}

不是SQl语句的问题,是页面其他地方,可以把这条语句换成其他SQL语句来试试。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15
代码贴出来,是卡住就一直不动,还是只卡住几秒追问

一直卡住不动
最后要执行的那条SQL语句的源码:
update t_recruit_resume set resume_status='04' where resume_id =111 or resume_id =133 or resume_id =132 or resume_id =131 or resume_id =129 or resume_id =134 or resume_id =1710 or resume_id =130

追答

不是看sql是看执行sql的代码,是不是代码写的有问题

追问

action的代码已贴出来了 在问题补充

执行SQL:
JdbcTemplate jdbc=getJdbcTemplate();
jdbc.upate(sql);

追答

你给的代码看不出来有什么问题。
你看看是不是因为哪个地方加了断点了

本回答被网友采纳
第2个回答  2011-08-09
页面跳转!追问

我的那条SQL语句是放在java代码的DAO中,在DAO中执行那段SQL语句,就一直卡住,但是把SQL语句复制到数据库中执行是可以的

追答

你看JSP中的 ACTION 写的对不对,然后看一下数据库里面 增加出来了没有、 对比一下
最好调试一下, 一般处在JSP页面 或者 spring中。

第3个回答  2015-09-16
数据库有锁住吗
第4个回答  2011-08-10
感觉应该是你处理程序与SQL的传参或通信方面有问题!你中间还涉及到查找?那是否会在你处理查询出来的结果集的时候是程序卡在哪里了?追问

在删除前做的查询,因为是根据选中的条件去删除的,但查询应该是没问题的,因为ID都已经获得并打印出来了,程序是在执行最后的删除jdbc.update(sql)这里卡住了 ,页面就一直卡住了

追答

你是只在DB里面做了删除,但是要在页面上看到删除的结果吗?

追问

要 的,因为删除完之后,会把DB里面的数据重新展现到页面,但是目前页面一直卡住,删除不掉,
不知道是在查询的时候卡住还是在删除的时候卡住,但是查询的结果是可以获到

追答

那你再删除DB数据之后和页面重新显示之前应该将你要显示的内容重新查询一次,再把查询的结果显示到页面上应该就不会又这样的问题了

相似回答