我正在执行Statement查询并将数据存储在ResultSet rs中。

// if no record is returned by the query

if (!rs.next() ) {
Step1
}

// if atleast one record is returned by the query

if(rs.next()){
do {

  if (rs.getString(1).equalsIgnoreCase("0")){
          Step2
  }

  if (rs.getString(1).equalsIgnoreCase("1")){
         Step3
 }
}              while (rs.next());
}


但是,如果我从查询中仅获得一条记录,则不会执行任何步骤。如果有人可以指出错误,那将有很大的帮助。

最佳答案

您总是跳过第一个元素,因为在获取一个元素之前您要两次调用.next()
尝试做这样的事情:

if (rs.next()) {
    // At least one record returned
    do {
        if (rs.getString(1).equalsIgnoreCase("0")) {
            // Step2
        }

        if (rs.getString(1).equalsIgnoreCase("1")) {
            // Step3
        }
    } while (rs.next());
} else {
    // No records returned
}

10-07 19:44
查看更多