现想对一个table进行更新后,马上又进行一次更新,
问题是debug分步执行正常,
但是一下执行有时会出错,提示更新中发生错误。
该怎么改动呢?
    public int update(TanMstEditBean bean) {        // 返却用件数
        int cnt = 0;
        // 担当者マスタDAO
        TanMstDAO dao = null;
        
        try {
            // DAO生成
            dao = new TanMstDAO();
            TanMstBean updBean = makeUpdateBean(bean);
            if (updBean == null) {
                return 0;
            }
            // 更新
            cnt = updateBasic(dao, updBean);
            dao.commit();
            TanManager.reLoad();
    / ****************  后加的代 ****************/
            if (cnt != 0) {
                if (checkflg != null && checkflg.equals("1")) {
                 // 更新開始
             cnt = updateMisscnt(dao, bean.getTanTancd());
                }
            }
   / **************** ****************/
        } catch (Exception e) {            dao.rollback();        } finally {            if (dao != null) {
                dao.close();
            }
        }
        return cnt;
}

解决方案 »

  1.   

    只有 cnt = updateBasic(dao, updBean); 
    更新失败 才不会执行  cnt = updateMisscnt(dao, bean.getTanTancd()); 如果 
    cnt = updateBasic(dao, updBean); 更新成功    cnt的值肯定大于0, 始终会执行 cnt = updateMisscnt(dao, bean.getTanTancd()); 
      

  2.   

    cnt = updateBasic(dao, updBean); 更新成功    cnt的值肯定大于0, 始终会执行 cnt = updateMisscnt(dao, bean.getTanTancd()); 一楼有道理放到循环外试试