- ベストアンサー
データベースとのやり取り(サーブレット)
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日悩んでます;;原因のわかる方いましたらお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
とりあえずデータベース以前の問題として・・。 誤:if( rs.getString("tou") == set[i] ) 正:if( rs.getString("tou").equals(set[i]) ) でしょうか。 Stringはオブジェクトですから==で比較できません。
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
JAVAでは、Stringの比較には、 equalsを使います なので if( rs.getString("tou").equals(set[i]) ){ とします
お礼
回答ありがとうございます。1から出直します・・・; これでやっと先に進めます^^;
お礼
お恥ずかしいです・・・^^; 再度基本から勉強します。素早い回答ありがとうございました。