2017-03-29 27 views
0

JDBCから取得した結果セットからデータを取り込むPOJOのArrayListがありますが、whileループの最初のSystem.out.printステートメントでは、getStatusメソッドを使用してデータが完全に取得されますが、その直後のループをチェックインするとき、getStatusの戻り値はnullです。Pojo値が正しく取得されていません

P.S.ステータスフィールドは、普通の古いgetterとsetterを持つStringオブジェクトです。空想はありません。

while (result.next()) { 
    POJO recordPojo = new POJO(); 
    recordPojo.setRefNo(result.getString(3)); 
    recordPojo.setSubmittedBy(result.getString(1)); 
    recordPojo.setCreatedDate(result.getDate(2).toString()); 
    recordPojo.setGuid(result.getString(4)); 
    recordPojo.setStatus(result.getString(5)); 
    System.out.println(" DBOPERATIONS RESULT Ref No ----" + result.getString(3) + "  ===== " + result.getString(5) + " ====== " + recordPojo.getStatus()); 
    arryObj.add(recordPojo); 
} 
POJO x; 
for (int k = 0; k < arryObj.size(); k++) { 
    x = (POJO) arryObj.get(k); 
    System.out.println(" DBOPERATIONS Ref No ----" + x.getRefNo() + "  ===== " + x.getSubject()); 
} 
+0

入力をお願いしますか?あなたのコードに奇妙なものがあります:( –

+0

結果セットからロードする前に、あなたのarryObjに既に何かがありますか?また、2番目のループはステータスを印刷していません、それは印刷対象で、最初のループに設定されていません。 –

+0

あなたは完全なコード断片を表示できますか? 'result'の型は何ですか? –

答えて

3

私は(件名状況ではない)タイプミスのように、これを考慮し、私はあなたに短い解説を与える:私はあなたが今までにない、あなたはループx.getSubject()のあなたの第二System.out.println()に間違っていると思います前にこのフィールドを入力してください。結果はnullです。

だから、あなたは2つのオプションがあります。ときに、ループあなたの結果を

  • またはその代わりx.getSubject()の適切なフィールドを印刷し、あなたがx.getStatus()(彼らは同じではありません)
  • を印刷するべき

    • をこのフィールドを埋めます
    関連する問題