• ベストアンサー

データベースとのやり取り(サーブレット)

String q1 = "USE riyou"; st.execute(q1); String q2 = "LOCK TABLE r1 WRITE"; st.execute(q2); String q3 = "SELECT * FROM r1 where ban=" + items[0]; ResultSet rs = st.executeQuery(q3); String set[] = {" ","0","1","2","3","4","5","6","7","8","9"}; for( int i = 0;i < 11;i++ ){ if( rs.getString("tou") == set[i] ){ out.println("test"); } out.println("" + set[i] + "0000000"); } touの中身は"1"なんですがIFの条件に合いません。なぜなんでしょうか??set[]の中には"1"が入っているはずなんですが・・・。ちなみにtouもset[2]も文字の"1"なんです。昨日から2日悩んでます;;原因のわかる方いましたらお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#49664
noname#49664
回答No.1

とりあえずデータベース以前の問題として・・。 誤:if( rs.getString("tou") == set[i] ) 正:if( rs.getString("tou").equals(set[i]) ) でしょうか。 Stringはオブジェクトですから==で比較できません。

kuninari
質問者

お礼

お恥ずかしいです・・・^^; 再度基本から勉強します。素早い回答ありがとうございました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

JAVAでは、Stringの比較には、 equalsを使います なので if( rs.getString("tou").equals(set[i]) ){ とします

kuninari
質問者

お礼

回答ありがとうございます。1から出直します・・・; これでやっと先に進めます^^;

関連するQ&A