2017-08-12 16 views
-1

このメソッドは、実行するたびに「結果セットの列の値を読み取れませんでした:cColor;文字列のインデックスが範囲外です:0」とスローしますスレッド "main"の例外java.lang.StringIndexOutOfBoundsException:文字列インデックスが範囲外です:0.任意のアイデア?誰がエラーがどこにあるのか教えていただけますか?Exception 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

Typo。 ":paramLocId"と "AND"の間に空白がありません。 –

答えて

0

cColor列が空で、そのデータ型がcharであることが起こるので、Javaはcharデータ型を読み取ることができないので、私はちょうどvarchar型へデータ型を変更しました。

関連する問題