| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 504 人关注过本帖
标题:不知道是为什么?
只看楼主 加入收藏
yu1543054075
Rank: 1
等 级:新手上路
帖 子:102
专家分:8
注 册:2015-4-30
结帖率:90.24%
收藏
已结贴  问题点数:20 回复次数:5 
不知道是为什么?
public static int delUser(String uid)//删除用户
    {
        int count=0;//设置返回值
        Vector<String> vpid=new Vector<String>();//存放pid的集合 一个用户对应多个联系人
        try
        {
            con=DButil.getConnection();//得到数据库连接
            stat=con.createStatement();//创建语句对象
            rs=stat.executeQuery("select pid from lxy where uid='"+uid+"'");//得到每个联系人的ID
            while(rs.next())
            {
                String pid=rs.getString(1);//得到用户下的pid               
                vpid.add(pid);//添加进联系人集合
            }
            stat=con.createStatement();//重新创建语句对象
            for(String s:vpid)
            {//循环删除每个联系人的相册
                stat.executeUpdate("delete from photo where pid='"+s+"'");
            }
            //在联系人lxy表中删除每个联系人            
            count=stat.executeUpdate("delete from lxy where uid='"+uid+"'");
            //在用户表中删除用户
            stat.executeUpdate("delete from user where uid='"+uid+"'");            
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        finally{DButil.closeCon();}//关闭数据库连接
        return count;//返回删除了多少个联系人
    }   
上面的两个语句为什么不需要判断是否删除成功呢?即在它的前面加上一个count,判断是否删除成功,请指导!
2015-10-20 14:22
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:5 
你觉得有必要吗?即使没删除成功在那里又处理不了

一片落叶掉进了回忆的流年。
2015-10-20 16:33
yu1543054075
Rank: 1
等 级:新手上路
帖 子:102
专家分:8
注 册:2015-4-30
收藏
得分:0 
count=stat.executeUpdate("delete from lxy where uid='"+uid+"'");那这一句前面的count也就没有必要了是吗?
2015-10-20 20:59
yu1543054075
Rank: 1
等 级:新手上路
帖 子:102
专家分:8
注 册:2015-4-30
收藏
得分:0 
我怎么知道它是否更新成功了呢?
2015-10-20 21:01
calix
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:249
专家分:1442
注 册:2015-5-4
收藏
得分:10 
以下是引用yu1543054075在2015-10-20 20:59:23的发言:

count=stat.executeUpdate("delete from lxy where uid='"+uid+"'");那这一句前面的count也就没有必要了是吗?

这里是因为方法返回的需要(业务需要)才记录了执行的条数count

一般情况下只要sql顺利执行就可以认为操作成功
返回的执行结果条数表示影响了多少数据,跟执行成功与否没有直接关系
假如数据库中没有符合删除条件的数据,那么返回的结果为0条,你能说sql执行不正确吗?
2015-10-20 23:32
快速回复:不知道是为什么?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021637 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved