2017-08-12 75 views
-1

這是我的方法,每次運行它總是說「無法從結果集中讀取列值:cColor;字符串索引超出範圍:0」並拋出線程「main」中的異常java.lang.StringIndexOutOfBoundsException:字符串索引超出範圍:0.任何想法?有人可以告訴我錯誤在哪裏嗎?異常java.lang.StringIndexOutOfBoundsException:字符串索引超出範圍:0

--OpenSession here-- 
    Query query = session.createSQLQuery("SELECT * FROM db.tblUnits " 
      + "WHERE csTat = :paramStation AND cbrach = :paramLocId" 
      + "AND (cType = 'repo units' OR cType = 'svc units')") 
      .setParameter("paramLocId", locId) 
      .setParameter("paramStation", station); 

    List<Object[]> oAvailableUnits = (List<Object[]>) query.list(); 

    --CloseSession here-- 
+0

爲什麼使用多線程標籤? – Joe

+2

你的堆棧跟蹤包含行號和文件名,告訴你錯誤在哪裏。在這裏問我們並不好 - 特別是如果你不共享堆棧跟蹤。無論如何,這幾乎肯定不在您實際向我們展示的代碼中。 –

+3

錯字。在下一行繼續的字符串串聯中,缺少「:paramLocId」和「AND」之間的空白。 –

回答

0

它發生的cColor欄是空的,其數據類型爲char,所以我只是改變了數據類型爲VARCHAR因爲Java不能讀取char數據類型。

相關問題