Java 无法从MySql数据库获取结果集

Java 无法从MySql数据库获取结果集,java,mysql,jdbc,Java,Mysql,Jdbc,当我对包含表“comm_list”和表“comm_list”中类型为“Int”的字段“sr_no”的数据库执行以下查询时,我得到了正确的结果集 从通讯列表中选择MAX(sr_编号) 上面的查询是为了获取最大序列号,以便在输入新记录时,在“sr_no”栏中输入(序列号+1),以便跟踪数据库中的记录数 我知道它可以通过使字段“sr_no”主键自动完成,并使其在输入新记录时自动递增,但表中已经有另一个主键,因此我不能将此“sr_no”字段作为主键 当我从java程序执行上述查询以获取最大序列号时,返回

当我对包含表“comm_list”和表“comm_list”中类型为“Int”的字段“sr_no”的数据库执行以下查询时,我得到了正确的结果集

从通讯列表中选择MAX(sr_编号)

上面的查询是为了获取最大序列号,以便在输入新记录时,在“sr_no”栏中输入(序列号+1),以便跟踪数据库中的记录数

我知道它可以通过使字段“sr_no”主键自动完成,并使其在输入新记录时自动递增,但表中已经有另一个主键,因此我不能将此“sr_no”字段作为主键

当我从java程序执行上述查询以获取最大序列号时,返回的resultset不包含任何条目。我不明白问题出在哪里。我使用jdbc驱动程序将java程序中的记录存储到数据库中

下面是我的java程序的代码片段

          PreparedStatement getSerial = con.prepareStatement("select max(sr_no) from comm_list"); // "con" is the connection with the database
          getSerial.execute();
          ResultSet rs = getSerial.getResultSet();
          System.out.println(rs.toString()); 
          System.out.println(rs.getFetchSize()); // output - 0
          srNo = rs.getInt(1) + 1;
          System.out.println(srNo);

结果集需要迭代才能使用。这在报告中提到。javadocs始终是这些API的宝贵参考

您需要调用ResultSet的next()方法来获得第一个结果


这里有一些入门示例。

结果集需要迭代才能使用。这在报告中提到。javadocs始终是这些API的宝贵参考

您需要调用ResultSet的next()方法来获得第一个结果

有一些入门示例。

尝试使用该方法,将指定的结果集移动到下一行,并返回是否有下一行:

PreparedStatement getSerial = con.prepareStatement("select max(sr_no) from comm_list"); // "con" is the connection with the database
getSerial.execute();
ResultSet rs = getSerial.getResultSet();
if(rs.next()) {
   srNo = rs.getInt(1) + 1;
}
System.out.println(srNo);
尝试使用方法将指定的结果集移动到下一行,并返回是否存在下一行:

PreparedStatement getSerial = con.prepareStatement("select max(sr_no) from comm_list"); // "con" is the connection with the database
getSerial.execute();
ResultSet rs = getSerial.getResultSet();
if(rs.next()) {
   srNo = rs.getInt(1) + 1;
}
System.out.println(srNo);