我有一个程序,我必须从数据库中检索数据。我已经以字符串的形式取回了它。这个字符串包含大约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
}

08-04 00:42