posts - 40,  comments - 4,  trackbacks - 0

          使用Hibernate的sum函數(shù)進(jìn)行數(shù)據(jù)的統(tǒng)計(jì)時(shí),出現(xiàn)一個(gè)錯(cuò)誤:

           

          String sql = "select SUM(nf.fee) from CFee as nf where   nf.adminAccount='testaccount' ";   
          public long getListSqlCountsLong(String sql) {   
                  beginTransaction();   
                  List li 
          = getSession().createQuery(sql).list();   
                  
          if (li == null || li.isEmpty()) {   
                      
          return 0;   
                  }
           else {                        return ((Integer) li.get(0)).longValue();   
                  }
             
              }
           
          這樣使用報(bào)null錯(cuò)誤.
          List的size明明等于1,但li.get(0)還是為空.(數(shù)據(jù)庫(kù)中查詢的賬號(hào)sum本來(lái)就為null??可能是.)
          解決方法:
          String sql = "select SUM(nf.fee) from CFee as nf where   nf.adminAccount='testaccount' ";   
          public long getListSqlCountsLong(String sql) {   
                  beginTransaction();   
                  List li 
          = getSession().createQuery(sql).list();   
                  
          if (li == null || li.isEmpty()) {   
                      
          return 0;   
                  }
           else {       
                          
          if (li.get(0== null{   
                          
          return 0;   
                      }
             
                      
          return ((Integer) li.get(0)).longValue();   
                  }
             
              }
            
          解決方法很簡(jiǎn)單,就是增加一個(gè)判斷就可以了,如果li.get(0)為空,則返回0,不為空,返回值.
          posted on 2008-05-09 13:17 larryjava 閱讀(4021) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 山东| 黑水县| 苍山县| 繁昌县| 庆安县| 嘉禾县| 施甸县| 花垣县| 襄城县| 峨边| 固始县| 台安县| 潜江市| 集贤县| 丹凤县| 左权县| 临沂市| 雅安市| 南漳县| 南华县| 洮南市| 淳安县| 中江县| 岗巴县| 海宁市| 郑州市| 都匀市| 承德市| 永安市| 定南县| 乐昌市| 巴中市| 襄樊市| 东明县| 华安县| 房产| 礼泉县| 淮阳县| 襄汾县| 昌都县| 准格尔旗|