有关ResultSet的查询

use*_*003 2 java jdbc resultset

我正在执行一个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());
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我只从查询中获取单个记录,则不执行任何步骤.如果有人能够指出错误,那将是非常有帮助的.

Sur*_*tta 5

你必须要了解究竟是什么 next() 方法.next()将光标移动到下一个元素.当你next()在里面写,如果条件通过,并且没有更多的元素while.

为什么不通过这样做来简化代码

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

  if (rs.getString(1).equalsIgnoreCase("1")){
         Step3
 }
}
Run Code Online (Sandbox Code Playgroud)

如果你进入while循环,有项目,否则否.