我有一个程序,我必须从数据库中检索数据。我已经以字符串的形式取回了它。这个字符串包含大约100个值。现在我必须将这些值与我给出的字符串值进行比较。如果值匹配,则它应执行If条件,否则不执行。
这是我的代码。。。
String str = "9035"; Manually Given by me.
AreaCode = rs.getString("AreaCode"); Retrieved from database with 100 records..
我正在使用
if(AreaCode.equals(str))
但它不起作用。。。。 最佳答案
调试方法如下:
String str = "9035";
while (rs.next()) {
String areaCode = rs.getString("AreaCode");
if(str.equals(areaCode)){
System.out.println("!!!!!!It matched: " + str);
break;
} else {
System.out.println("No match with: " + areaCode);
}
}
从您的问题看来,您只是在比较第一条记录,您需要做的是重复上面的每个结果并进行比较。一旦找到记录,就用中断语句退出循环。
当然,一个更好的解决方案是使用包含区域代码的where子句来执行select,如果您得到一条记录,那么它就在那里,如果没有,那么您知道它不是。
有点像
select count(0) as tot from your_table_name where AreaCode = '9035'
然后根据结果
if(rs.getInt("AreaCode") != 0){
//found the/a match
}