在java中执行sql查询,当for循环两次时第一次满足条件一,第二次满足条件二时,select语句第二次没有执行
当只执行一次循环只满足条件一或条件二都能执行。for(循环){if(条件一){sql="select*fromtable1";}elseif(条件二){sql="sele...
当只执行一次循环只满足条件一或条件二都能执行。
for(循环){
if(条件一){
sql="select * from table1";
}else if(条件二){
sql="select * from table2";
}else{
返回
}
result=stmt.executequery(sql);
try{
}catch(exception e){
}finally{
if(result !=null){
result.close();}
}
}
没有异常,单次执行是没有问题的,当按条件一,条件二执行时,返回结果不正确,条件二,条件一循环执行是,返回结果正确。系统默认执行了第一次的条件查询。 展开
for(循环){
if(条件一){
sql="select * from table1";
}else if(条件二){
sql="select * from table2";
}else{
返回
}
result=stmt.executequery(sql);
try{
}catch(exception e){
}finally{
if(result !=null){
result.close();}
}
}
没有异常,单次执行是没有问题的,当按条件一,条件二执行时,返回结果不正确,条件二,条件一循环执行是,返回结果正确。系统默认执行了第一次的条件查询。 展开
6个回答
展开全部
我不知道你为什么要有个循环,你的条件肯定是在循环之外就做好了吧。 那么,进入循环之后,不管循环几次 都只会有一个结果,那你还要这个循环做什么? 脱了裤子放屁 多此一举 而且你把关闭语句也放在循环里面的,当第一次循环完了之后,资源都关闭了,你还查询什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
会有异常吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用DEBUG跟踪一下,看看是不是第二次循环停住了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议:你只要条件二看看
追问
单次循环一次是没有问题的
追答
这样的话,可能是第二次查询时链接已经关闭了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
条件判断有错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询