posts - 40,  comments - 4,  trackbacks - 0

          使用Hibernate的sum函數進行數據的統計時,出現一個錯誤:

           

          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();   
                  }
             
              }
           
          這樣使用報null錯誤.
          List的size明明等于1,但li.get(0)還是為空.(數據庫中查詢的賬號sum本來就為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();   
                  }
             
              }
            
          解決方法很簡單,就是增加一個判斷就可以了,如果li.get(0)為空,則返回0,不為空,返回值.
          posted on 2008-05-09 13:17 larryjava 閱讀(4021) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 凤翔县| 潢川县| 石泉县| 丹凤县| 淳安县| 枣庄市| 仙游县| 聂拉木县| 翼城县| 木兰县| 陈巴尔虎旗| 界首市| 故城县| 商都县| 元谋县| 耒阳市| 宣城市| 伽师县| 新密市| 保亭| 绍兴市| 靖西县| 安顺市| 哈尔滨市| 祥云县| 长宁区| 宿州市| 桐柏县| 成都市| 平阴县| 昌邑市| 乐安县| 大余县| 永州市| 新泰市| 阳谷县| 临汾市| 社会| 蓬安县| 宁陵县| 宣城市|