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)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 泰州市| 津南区| 犍为县| 崇礼县| 罗甸县| 黑龙江省| 凤凰县| 航空| 大厂| 安宁市| 淮阳县| 通许县| 葫芦岛市| 溧水县| 克山县| 专栏| 云南省| 兴仁县| 丹东市| 雷波县| 昌黎县| 西充县| 滦南县| 威海市| 绥江县| 五台县| 高青县| 墨江| 兴城市| 扎赉特旗| 宁国市| 大足县| 澄城县| 云林县| 吉安市| 丹阳市| 东宁县| 扶余县| 于田县| 绿春县| 都昌县|