java - 关于 ResultSet 的查询

标签 java jdbc resultset

我正在执行语句查询并将数据存储在 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() 方法到底做什么。 next() 将光标移动到下一个元素。当您在 if 中编写 next() 时,条件已通过,并且在 while 中没有更多元素。

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

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

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

如果进入while循环,则有项目,否则没有。

关于java - 关于 ResultSet 的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42221878/

相关文章:

java - Android GCM 适用于 ICS 但不适用于 Gingerbread

mysql - 基准的选择和更新查询数量?

java - 在 Java 中并行读取/处理结果集

java - 如何将表从一个数据库复制到另一个数据库?

java - Python 和 Java 中正则表达式语法的差异

java - 如何根据一列对一维(或二维)数组(多维)进行排序?

java - 使用 jCodec 从 UDP 流获取 H.264 帧

java - 为什么我的存储过程仅返回单个整数返回代码,但堆空间不足?

java - 与存储在不同计算机上的MS Server连接的JDBC程序

java - Vector 不断向自身追加行而不替换 - java(表和数据库)